Пример операции Действие
Posted in: Основы разработки на РНР, By: admin, At: Октябрь 5th, 2007
Sfoo == Sbar true, если Sfoo равно Sbar.
Sfoo === Sbar true, если Sfoo равно Sbar и обе переменных относятся к одномутипу.
Sfoo !■ Sbar true, если Sfoo не равно Sbar.
Sfoo !== Sbar true, если Sfoo не равно Sbar и обе переменных не относятся к одномутипу,
Sfoo < Sbar true, если Sfoo меньше Sbar,
Sfoo > Sbar true, если Sfoo больше Sbar.
Sfoo <= Sbar true, если Sfoo меньше или равно Sbar.
Sfoo >= Sbar true, если Sfoo больше или равно Sbar.
Итак, как же работают эти операторы сравнения? В основном так же, как математические операции, описанные ранее:
Sanswer = (14 > 15); /* Sanswer = false */ Sanswer = (14 <= 15); /* Sanswer = true */
Можно надеяться, теперь вы имеете представление о том, как написать короткий пример сценария, который сможет вычислить время, когда я могу отправляться спать (см. условное предложение в начале раздела). В листинге 1.12 показаны результаты.
листинг 1.12. Использование операций сравнения в операторе if
Spgs_complete = 14;
if (Spgs_complete < 15) |
echo “Очень жаль! ты еще не можешь спать, Джон!<ВК>“; ) else {
echo “Поздравляю! Уже можешь пойти спать!!
“;
)
Все прекрасно, пока нужно проверить только одно условие для выполнения блока кода, но что делать в ситуациях, когда встречается два или более условий? Одним решением может быть — встроить один или более операторов if внутрь друг друга, как показано в листинге 1.13.
Листинг 1.13. вложенные условия__
if (Svalue > 0) |
if (Svalue <= 10) (
echo ‘Значение переменной Svalue находится между 1 и 10.’; ) else {
if (Svalue <- 20) (2g Использование РНР для разработки Web-приложений_
_Г Часть I
echo ‘Значение переменной Svalue находится между 1 и 20.’; } else {
echo ‘Значение переменной Svalue больше 20.’;
)
}
I
СОВЕТ -
В блок кода может быть включено все что угодно, в том числе и другой блок. Нет ограничений на “глубину” вложенности, хотя хорошей практикой является ограничение степени вложенности блоков для сохранения читаемости кода.
Хотя это и работает, существует лучший способ. Когда требуется проверка множества условий, в РНР существуют логические операции для комбинации множества условий в единое булевское значение. Например, рассмотрим следующее условное предложение:
“Если Джон закончит 15 страниц, или ему больше нечего будет писать, то он может лечь спать”.
Это конкретное предложение утверждает, что я могу лечь спать тогда, когда закончу 15 страниц или же закончу писать книгу вообще. Для того чтобы справиться с этой ситуацией, нужно использовать оператор if с множеством условий.
Вспомните из начального представления оператора if, что условная часть предложения является выражением, возвращающим при вычислении булевское значение. То есть для создания составного оператора if все, что понадобится — это набор булевских операций. Эти операции, называемые также логическими операциями, перечислены в табл. 1.3.
Таблица 1.3. Логические операции РНР
Операция Действие
Sfoo and Sbar true, если Sfoo и Sbar истинны.
Sfoo or Sbar true, если Sfoo или Sbar истинны.
Sfoo xor Sbar true, если Sfoo или Sbar истинно (но не оба сразу).
.’Sfoo true, если Sfoo ложно.
Sfoo && Sbar true, если Sfoo и Sbar истинны.
Sfoo I I Sbar true, если Sfoo или Sbar истинны.
На заметку -
Несмотря на то что они выглядят идентичными, операции and и or — не то же самое, что Ь6 и II. Разница заключается в их приоритетах. В РНР операции and и or выполняются до операций ь& и | |. Из-за этого настоятельно рекомендуется использовать скобки, чтобы явно задать порядок операций в любых сложных выражениях.
Leave a Reply