Дипломная работа: Вводный курс в PHP
for(expression1; expression2; expression3) {
statements;
}
3) Итерационный цикл foreach:
foreach (array as [$key =>] $value)
{
statements;
}
Операторы выбора/ if... else
К операторам выбора относят: условный оператор (if... else) и переключатель (switch). Синтаксис условного оператора: if(condition) statement 1 elsestatement 2
Условие condition может быть любым выражением. Если оно истинно, то выполняется оператор statement 1. В противном случае выполняется оператор statement 2. Допустима сокращенная форма записи условного оператора, в которой отсутствуют else и оператор statement 2.
В свою очередь, операторы statement 1 и statement 2 могут быть условными, что позволяет организовывать цепочки проверок любой глубины вложенности. И в этих цепочках каждый условный оператор может быть как полным, так и сокращенным. В связи с этим возможны ошибки неоднозначного сопоставления if и else.
Синтаксис языка предполагает, что при вложенных условных операторах каждое else соответствует ближайшему if. В качестве такого ошибочного примера можно привести следующую конструкцию [Подбельский В.В. Язык С++. М.: Финансы и статистика, 2001]:
<?
$x = 1; $y = 1;
if($x == 1)
if($y == 1) echo("x=1 and y=1");
else echo("x! =1");
? >
При х равном 1 и у равном 1 совершенно справедливо печатается фраза "х = 1 and у = 1". Однако фраза "х! =1" может быть напечатана при х равном 1 и при у не равном 1, так как else соответствует ближайшему if. Условный внешний оператор, где проверяется $x == 1, является сокращенным и в качестве statement 1 включает полный условный оператор, где проверяется условие $у == 1.Т. е. проверка этого условия выполняется только при х равном 1. Простым правильным решением этой задачи является применение фигурных скобок, т.е. построение составного оператора, т.е. нам нужно фигурными скобками ограничить область действия условного внутреннего оператора, сделав его неполным. Тем самым внешний оператор превращается в полное условие:
<?
$x = 1; $y = 1;
if($x==1) {
if($y==1) echo("x=1 and y=1");
}else echo("x! =1");
? >
Заметим, что проверка дополнительных условий возможна при помощи оператора elseif. Оператор if может включать сколько угодно блоков elseif, но else в каждом if может быть только один. Как правило, в конструкциях if…elseif…else оператор else определяет, что нужно делать, если никакие другие условия не являются true. Однако, вообще говоря, использование оператора elseif довольно сильно ухудшает читабельность кода, и лучше в этом случае пользоваться переключателем (switch).
РНР предоставляет также возможность альтернативного синтаксиса условного оператора – без фигурных скобок, а с применением оператора endif. В следующем примере первая таблица помещается на страницу, если только $_GET ['HDD'] равно "Maxtor", а вторая - если "Seagate". Наличие оператора endif в этом случае обязательно, так как фигурная скобка, обозначающая конец блока if, отсутствует:
<?