Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 889

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
634.64 Кб
Скачать

Группа инструкций else является необязательной и необходима только в том случае, если требуется выполнить действие, отличающееся от продолжения скрипта, когда условное выражение равно FALSE. Также можно создавать вложенные инструкции if /else при помощи elseif, например:

if (условное выражение) {

инструкции, выполняемые, если условие равно TRUE;

}

elseif (второе условное выражение) {

инструкции, выполняемые, если второе условие равно

TRUE;

}

else {

инструкции, выполняемые, если второе условие равно

FALSE;

}

Во всех случаях результатом условного выражения должно быть булево значение TRUE или FALSE (1 или 0). Если при этом существует переменная, содержащая значение, отличное от NULL, FALSE или 0, такая переменная равна TRUE.

Многие условные выражения являются сравнениями, которые проверяют, равны ли два элемента или один из них больше другого. Следует помнить, что при проверке равенства в РНР необходимо использовать удвоенный знак равенства (==), а не единичный знак, который означает присвоение.

Инструкции while и do-white

Инструкции while и do-while являются конструкциями для организации циклов, позволяющими повторно выполнять часть кода до того момента, когда условное выражение перестанет быть равным TRUE.

Инструкция while, являющаяся основой этого набора, принимает следующие формы:

9

while (условное выражение) (

инструкции, выполняемые, пока условие равно

TRUE;

}

while (условное выражение) :

инструкции, выполняемые, пока условие равно

TRUE;

endwhile;

Инструкция do-while похожа на инструкцию while, только условное выражение расположено не в начале, а в конце данной инструкции. Инструкция do-while принимает следующую форму:

do {

инструкции, выполняемые, пока условие равно TRUE;

}

while (условное выражение);

Инструкция for

Инструкция for, схожая со своими аналогами в других языках, размещает инициализацию счетчика, ограничивающее условие и приращение счетчика в виде последовательности выражений сразу за ключевым словом for. Данная инструкция может принимать одну из следующих форм:

for (инициализация; условное выражение; выражение приращения)

{

инструкции, выполняемые, пока условие равно TRUE;

}

for (инициализация; условное выражение; выражение приращения):

10

инструкции, выполняемые, пока условие равно TRUE; endfor;

В своей основной форме выражение for может быть записано, например, таким образом: for ($i = 1; $i <= 5; $i++), где $i++увеличивает $i после выполнения.

Инструкция switch

Инструкция switch напоминает последовательность инструкций if/else. Эта инструкция используется при необходимости сравнить значение переменной с некоторым набором различных значений и в зависимости от результата сравнения выполнить какое-либо действие. Совместно с инструкцией switch используется три ключевых слова: case, break и default, принимая следующую форму:

switch ($переменная) { case 1:

инструкции, выполняемые, пока TRUE; break;

case 2:

инструкции, выполняемые, пока TRUE; break;

case 3:

инструкции, выполняемые, пока TRUE; break;

default:

инструкции, выполняемые, пока все FALSE;

}

Каждое выражение case в инструкции switch сравнивает значение переменной switch со значением case, которое может быть строкой. Если значения равны, выполняются инструкции после соответствующего выражения case, после чего выражение break направляет выполнение скрипта на первую инструк-

11

цию после закрывающей фигурной скобки инструкции switch. Если ни одно из выражений case не было удачным, выполняются инструкции, следующие за выражением default, после чего выполнение скрипта выходит из инструкции switch.

Массив

Одной из особенностей PHP является то, что часть массивов может использовать в качестве ссылок числовые индексы, другая позволяет работать с буквенно-цифровыми индикаторами.

Массив с числовыми индексами может быть задан следующим образом:

<?php

$paper[] = “Copier”; $paper[] = “Inkjet”; $paper[] = “Laser”; $paper[] = “Photo”;

?>

В данном случае при каждом присваивании массиву $paper значения для хранения последнего используется первое же свободное место, а значение существующего в PHP внутреннего указателя увеличивается на единицу, чтобы указывать на свободное место, готовое для следующей вставки значения.

Можно, как и в более традиционных языках программирования, указывать конкретное место элементов в массиве.

<?php

$paper[0] = “Copier”; $paper[1] = “Inkjet”; $paper[2] = “Laser”; $paper[3] = “Photo”;

?>

12

С помощью цикла можно вывести добавленные элементы на экран.

<?php

$paper[] = “Copier”; $paper[] = “Inkjet”; $paper[] = “Laser”; $paper[] = “Photo”;

for ($j = 0; $j < 4; $j++)

echo “$j: $paper[$j]<br>”;

?>

Многомерные массивы

Как и во многих других языках программирования в PHP можно создать многомерный массив. Многомерный массив в PHP может быть как обычным, так и ассоциативным.

Обычный многомерный массив задается следующим образом:

<?php

$mas = array(

array (7, 15, 34, 12), array (7, 4, 10, 23), array (78, 56, 34, 12));

echo “<pre>”;

foreach ($mas as $row)

{

foreach ($row as $num) echo “$num ”;

echo “<br>”;

}

echo “</pre>”;

?>

13

Можно вывести отдельный элемент массива на экран указав номер строки и столбца.

echo $mas[1][2];

Вэтом примере для последовательного перебора массива

идемонстрации его содержимого используется пара вложен-

ных циклов foreach… as. Внешний цикл обрабатывает каждую строку и помещает ее в переменную $row, которая сама по себе является массивом. Внутренний цикл обрабатывает каждый элемент в строке, выводя его на экран. За каждым элементом следует пробел. Тег <pre> обеспечивает правильную форму выводимого текста.

Функции для работы с массивами print_r()

Данная функция выводит на экран все элементы массива в удобочитаемом виде (индекс => значение). Например:

<?php

$mas = array(1,2,3,4,5); print_r($mas);

?>

На экран будет выведено следующее:

Array

(

[0]=> 1

[1]=> 2

[2]=> 3

[3]=> 4

[4]=> 5

)

14

is_array()

Данная функция определяет, является ли переменная массивом. Например:

echo (is_array($mas)) ? “Это массив” : “Это не массив”;

Возвращаемое переменной значение является логическим (TRUE если она является массивом, FALSE – если нет).

count()

Данная функция возвращает количество элементов в мас-

сиве:

echo count($mas);

Для многомерных массивов в функции рекомендуется указывать дополнительный параметр:

echo count($matr, 1);

Данный параметр имеет два значения: 1 – если требуется вернуть общее количество элементов и 0 – если требуется вернуть количество элементов верхнего уровня (строк).

sort() и rsort()

Сортировка массивов по возрастанию или убыванию является настолько часто применяемой процедурой, что в PHP создан ряд специальных функций для сортировки массивов.

Функция sort() сортирует элементы в массиве в порядке возрастания:

sort($mas, SORT_NUMERIC); sort($mas, SORT_STRING);

15

Кроме имени массива в функции устанавливаются флаги сортировки. Наиболее распространенными вариантами являют-

ся SORT_NUMERIC и SORT_STRING – числовая и строковая сортировки, соответственно.

Массив также можно отсортировать в обратном порядке, используя функцию rsort():

rsort($mas, SORT_NUMERIC); rsort($mas, SORT_STRING);

shuffle()

Данная функция перемешивает элементы массива в случайном порядке:

shuffle($mas);

explode()

Данная функция позволяет взять строку, содержащую несколько слов, разделенных пробелом (либо каким-то другим символом или группой символов), и поместить каждое из слов в отдельный элемент массива.

Например:

<?php

$temp = explode(‘ ’, “Это предложение из пяти слов”); print_r($temp);

?>

На экран будет выведено следующее:

Array

(

[0]=> Это

[1]=> предложение

[2]=> из

[3]=> пяти

16

[4] => слов

)

Первый параметр – разделитель – не обязательно должен быть пробелом или даже одиночным символом.

reset() и end()

Данные функции позволяют управлять внутренним указателем на элементы массив, определяющим какой элемент массива в данный момент является текущим. Функция reset() перемещает указатель на первый элемент массива, функция end()

– на последний элемент массива:

reset($mas); end($mas);

Математические функции PHP

В PHP существует ряд математических функций, позволяющих осуществлять вычисления. Основные из них приведены в табл. 2.

Таблица 2

 

Математические функции PHP

 

 

Функция

Назначение

abs

Модуль числа

acos

Арккосинус

acosh

Гиперболический арккосинус

asin

Арксинус

asinh

Гиперболический арксинус

atan

Арктангенс

atanh

Гиперболический арктангенс

ceil

Округляет дробь в большую сторону

cos

Косинус

 

 

cosh

Гиперболический косинус

 

17

 

Продолжение табл. 2

deg2rad

Преобразует значение из градусов в радианы

exp

Вычисляет степень числа e

floor

Округляет дробь в меньшую сторону

fmod

Возвращает дробный остаток от деления по

 

модулю

getrandmax

Возвращает максимально возможное случай-

 

ное число

is_nan

Проверяет, является ли значение "не числом"

log10

Десятичный логарифм

log

Натуральный логарифм

max

Возвращает наибольшее значение

min

Находит наименьшее значение

pi

Возвращает значение числа pi

pow

Возведение в степень

rad2deg

Преобразует значение из радианов в градусы

rand

Генерирует случайное число

round

Округляет число типа float

sin

Синус

sinh

Гиперболический синус

sqrt

Квадратный корень

srand

Изменяет начальное число генератора псев-

 

дослучайных чисел

 

 

tan

Тангенс

 

 

tanh

Гиперболический тангенс

1.3. Задания на лабораторную работу № 10

Задание № 1. Установить и настроить пакет Denwer (желательно установить Denwer на флэш-накопителе – см. инструкцию прилагаемую в отдельном файле).

Протестировать работу веб-сервера, создав и открыв в браузере php-документ, содержащий следующие строки:

18