В этой статье мы изучим некоторые существующие в языке PHP операторы, которые составляют "скелет програмы". Операторы условия и циклы позволяют решить множество задач.
Операторы условия
Операторы условия позволяют писать код, который будет выполняться в соответствии с какими то условиями. В языке PHP существует две таких конструкции. Первая из них :
Код:
if...elseif...else
позволяет проверить несколько выражений и выполнить код в зависимости от значения этих выражений. Если же надо сверить одно выражение с несколькими значениями, то PHP позволяет использовать конструкцию switch....case для этой цели.
Оператор if
Оператор if - является одной из важнейших возможностей языков программирования. он позволяет выполнять конкретные строки кода в соответствии с указаным условием. Синтаксис оператора
if :
Код:
if (условие)
....код...;
Если в блоке "....код..." присутствует более одной строки кода, тогда код следует обрамлять открывающей и закрывающей скобками, если же строка одна, то не обязательны фигурные скобки.
Код:
if (условие)
{
....код...;
....код...;
....код...;
}
Пример :
Код:
// Этот код выведет строку Россия, если значение переменной $country будет "ru".
if ($country == "ru")
echo("Россия.");
// Этот код выведет : "Россия. Столица - Москва", если значение переменной $country будет "ru".
if ($country == "ru")
{
echo("Россия.
");
echo("Столица - Москва");
}
В операторе if, проверяемое условие должно иметь значение логического типа(boolean): true или false. Любое невыполняющееся условие, имеет значение false. Например, все представленые ниже выражения будут иметь значение false:
Код:
if (5<4) echo ("Это не будет выведено на экран");
if (false) echo
("Это не будет выведено на экран");
//false - PHP константа
if ("0") echo ("Это не будет выведено на экран");
//При обработке этой строки, "0" станет 0,т.е. false
if ($g) echo("Это не будет выведено на экран");
//Только если переменной $g не было присвоено значение
true - эквивалентно любому выражению, не равному нулю, главное чтобы условие выполнялось. Например, все представленые ниже выражения получают значение true :
Код:
if ("false") echo
("Это будет выведено на экран");
// false сдесь уже не константа, а строка
if ("00") echo
("Это будет выведено на экран");
// строка из двух нулей не будет конвертирована в
//целочисленный тип
if (0 == 0) echo ("Это будет выведено на экран");
// ноль равен нулю, условие выполняется
Условие можно усложнять, объединяя несколько условий логическими операторами.
Код:
if (((45) && (32)) xor (5 == 5))
echo ("Это не будет выведено на экран");
// верны оба условия, объединённые оператором исключения xor,
// поэтому всё выражение неверно (false)
Невыполняющиеся условия
Если проверяемое условие возвращает false, PHP разрешает указать другой блок кода, который будет выполнятся при помощи else. Например :
Код:
if ($k < 0)
{
echo
("Отрицательное число");
}
else
{
echo
("Положительное число");
}
Первое условие проверяет, является ли число $k меньшим чем ноль. Если да, выводим на экран "Отрицательное число". Если же нет, выводим на экран "Положительное число". В PHP существует оператор elseif, позволяющий проверять больше двух условий. Например :
Код:
if ($k < 0)
{
echo
("Отрицательное число");
}
elseif ($k == 0)
{
echo
("Ноль");
}
else
{
echo
("Положительное число");
}
Представленая выше конструкция сначала проверяет является ли значение переменной меньше нуля. Если да, выводим на экран что это отрицательное число. Если первое условие не удовлетворяется, проверяем равно ли значение переменной нулю. Если да, то выводим на экран что число равно нулю. Если же не выполняется ни одно из предыдущих условий, то выводим на экран что число является положительным.
Оператор switch
Например у нас есть переменная $country, в которой имеется сокращённое название страны и мы хотим вывести её полное название в зависимости от значения переменной $country. Если выполнить это при помощи конструкции if...elseif....else, то выглядело бы это так :
Код:
if ($country== "ca")
{
echo
("Канада");
}
elseif ($country == "cr")
{
echo
("Коста Рика");
}
elseif ($country == "de")
{
echo
("Германия");
}
elseif ($country == "uk")
{
echo
("Великобритания");
}
else
{
echo("США");
}
В этом примере мы каждый раз сверяем значение переменной $country с конкретным значением и в зависимости от этого выводим полное название страны. Это можно сделать гораздо проще, используя конструкцию switch...case... . Оператор switch используется тогда, когда надо значение одноц переменной сравнить с несколькими значениями. Например :
Код:
switch($country)
{
case "ca" :
echo
("Канада");
break;
case "cr" :
echo
("Коста Рика");
break;
case "de" :
echo
("Германия");
break;
case "uk":
echo
("Великобритания");
break;
default:
echo
("США");
break;
}
Оператор switch берёт значение переменной $country и сравнивает его со значением в case. Когда находится совпадающее значение, выполняется код данного case пока не встретится оператор break. Если не находится ни одного совпадения, выполняется код в блоке default.
Оператор break позволяет остановить выполнение кода после case. Если значение $country равно "cr", тогда выводим "Коста Рика" и оператор break останавливает дальнейшую проверку условий. Если бы не было оператора break, проверка осуществлялась бы далее и на экран были бы выведены все остальные названия стран. Это может быть полезным, но также и нет. В нашем случае оператор break необходим. Мы можем объединить несколько операторов case, и если совпадёт значение хотябы одного из них, то выполнится последующий код. Например :
Код:
switch($country)
{
case "ca" :
case "cr" :
case "us" :
echo
("Северная Америка");
break;
case "de" :
case "uk" :
echo
("Европа");
break;
}
Если значение переменной $country равно ca, cr или us, на экран будет выведено "Северная Америка", если de или uk, на экран будет выведено "Европа".
Автор: МОРОЗ
Information
- Posted on 31.01.2010 22:15
- Просмотры: 1730