Логические операторы PHP

Несмотря на неограниченность во вложенности одних условий в другие злоупотреблять данной возможностью при написании PHP-скриптов не рекомендуется. Вместо этого следует обратить внимание на логические операторы, позволяющие совершать проверки сразу нескольких переменных в одну строку и, тем самым, повысить удобочитаемость кода, ускорить скорость его интерпретации.

Список операторов

Предметом обзора стали логические и служащие для сравнения операторы, в языке количество категорий больше. К первым относятся:

  • ! – отрицание;
  • and – «и» (также: &&);
  • xor – «исключающее или»;
  • or – «или» (также: ||).

Отличия буквенной записи и ввода спецсимволов проявляется в приоритетностях, служащих для разграничения рассматриваемых при проверке элементов. Сократить конструкции условий поможет тернарный оператор.

Второй тип содержит знаки вида «равно», «меньше», «больше» и подобные, также может задействоваться в проверках if-elseif-elseи, несмотря на сходство с символами арифметических действий, поддерживают не только числа. Например, с их помощью можно сравнивать строки на предмет полной идентичности друг другу, допускаются и операции со значениями, выдаваемыми определёнными функциями.

Замечание для пользователей, переводящих свои проекты на восьмую версию языка, касается случаев преобразования строк при сравнениях с числами. Это приводило к, на первый взгляд, нелогичным результатам, однако если какой-либо скрипт основывается на данной особенности языка, важно переписать программу перед установкой новой спецификации.

К примеру, при попытках узнать, равно ли число «0» букве «z», интерпретатор выдавал значение «истина» (true) вместо ошибки, вызванной задействованием разных типов хранения содержимого. Внимание следует уделить и математическим операторам, служащим для сложения, вычитания, умножения, деления.

Варианты использования

Несколько условий в одной строке

<?php
$abc = 123;
$xyz = 999;
if($abc == 123 and $xyz == 321) {
echo»abc равен 123, а xyz равен 321″;
} elseif($abc == 123 xor $xyz == 999) {
echo»abc равен 123 или xyz равен 321, но не оба одновременно!»;
} elseif ($abc == 0 or $xyz = 999) {
echo»abc равен 0 и/или xyz равен 999″;
}

Правильной будет последняя проверка.

Арифметические действия

<?php
$a = 1;
$b = 8787;
$c = 3;
$result = $a+$b/$c;
print $result;

Сначала 1 прибавится к 8787, после чего 8787 будет разделено на 3 и вернёт число 2930, которое появится на экране пользователя.

Условия с тернарным оператором

<?php
if ($abc < $xyz) {
$var = $abc;
} else {
$var = $xyz;
}

Этот код делает то же самое, что:

<? $var = ($abc < $xyz) ? $abc : $xyz; ?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *