Основы php, управляющие структуры

Шпаргалка по 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
  1. expr1- вычисляется один раз в начале цикла
  2. expr2- проверяется в начале каждой итерации, если значение TRUE, то цикл продолжается
  3. expr3- выражение, которое выполняется в конце каждой итерации
  4. 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 тем, что при подключении происходит проверка, подключался файл ранее или нет, если файл уже подключался, то ничего не произойдет, если файл не подключался, то произойдет подключение файла.