Шпаргалка по php, описание управляющих конструкций
if
if- оператор выбора, если выражение истинно (TRUE), то конструкция выполняется, если нет (FALSE), то конструкция пропускается:
if ($a > $b){ print 'a больше b'; }
Также существует альтернативный синтаксис, когда вместо фигурных скобок, допускается использовать двоеточие (:):
if ($a > $b): print 'a больше b'; endif;
If else
if else- оператор выбора, но в отличии от if, при значении FALSE в операторе if, выполняется выражение оператора else:
if ($a > $b){ print 'a больше b'; } else { print 'a не больше b'; }
elseif
elseif- конструкция расширяющая оператор if, добавляя альтернативное условие, которое выполняется, если if имеет значение FALSE, а elseif значение TRUE, оператор else выполняется при условии, что if и elseif имеют значение FALSE
if($a > $b){ print 'a больше b'; } elseif ($a = $b) { print 'a равно b'; } else { print 'a меньше b'; }
while
while- простейший цикл, который выполняется до тех пор, пока значение в самом while равняется TRUE
$i = '1'; while ($i < 10){ print $i; $i++; } //выведет: // 123456789
do-while
do-while- отличие от while в том, что первая итерация гарантированно выполнится, проверка на истинность выражения проверяется в конце цикла.
$i = '1'; do { print $i; } while ($i < 10);
Для прерывания цикла можно использовать break:
$i = '1'; do { if($i > 5 ){ break; } print $i; $i++; } while ($i < 10); //цикл дойдет до 5 и произойдет прерывание выполнения программы
for
for- еще один цикл, имеет структуру:
for (expr1; expr2; expr3) statement
- expr1- вычисляется один раз в начале цикла
- expr2- проверяется в начале каждой итерации, если значение TRUE, то цикл продолжается
- expr3- выражение, которое выполняется в конце каждой итерации
-
for ($i = 1; $i < 10; $i++){ print $i; }
foreach
foreach- конструкция, для перебора массивов и объектов, синтаксис:
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
где statement- перебираемый массив или объект, $value- значение, которое было присвоено при выполнение цикла,а Key- это ключ элемента массива. Во время выполнения цикла, внутренний указатель массива увеличивается на единицу и при следующей итерации работа будет проходить со следующим элементом. Пример:
$arr = array(1,2,3,4,17); foreach ($arr as $i){ print "$i, "; } unset($i);
Для вывода ключей массива:
$arr = array(1,2,3,4,17); print' '; foreach ($arr as $key => $i){ print "$key - $i, "; } unset($i); // выведет 0 - 1, 1 - 2, 2 - 3, 3 - 4, 4 - 17,
по завершению цикла нужно разорвать ссылку на последний элемент, используя unset()
break
break- конструкция break используется для упрощения логики в сложных циклах, при выполнении условия происходит выход из цикла:
$x=0; while ($x++<5) { if ($x==3){ break; } echo "step $x ";// выведет step1 и step2 }
continue
continue- конструкцияcontinue также как и конструкция break используется для упрощения логики в сложных циклах, но при выполнении условия происходит завершение текущей итерации и переход к следующей:
$x=0; while ($x++<5) { if ($x==3) continue; echo "step $x "; }//итерация step3 будет пропущена
switch
switch- оператор, также как и оператор if, используется для сравнения переменных с множеством значений, при значении TRUE- участок кода будет выполняться, при значении FALSE- код будет пропущен.
Конструкция записанная с помощью оператора if:
$i = '1'; if ($i == 0) { echo "i = 0"; } elseif ($i == 1) { echo "i = 1"; } elseif ($i == 2) { echo "i = 2"; }
Равносильна записи сделанной с помощью оператора switch:
$i = '1'; switch ($i) { case "0": echo "i = 0"; break; case "1": echo "i = 1"; break; case "2": echo "i = 2"; break; }
include, require, include_once, require_once
include, require, include_once, require_once- выражения, которые используются для подключения файлов, include отличается от require тем, что при возникновении ошибки include выдает ошибку, а require выдает ошибку и прекращает выполнение скрипта. include_once и require_once отличаются от include и require тем, что при подключении происходит проверка, подключался файл ранее или нет, если файл уже подключался, то ничего не произойдет, если файл не подключался, то произойдет подключение файла.