Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

ОПЕРАТОРЫ: Логические операторы


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Аннотация

Унарный и бинарные логические операторы и их разновидности.

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

Примем переменные $t0, $t1 равными true и $f0, $f1 равными false.

$t0 = $t1 = true;
$f0 = $f1 = false;
        

Not (!). Единственный унарный оператор. Выражение принимает значение true, если его аргумент не равен true (т. е. равен false).

var_dump(!$t0);
bool(false)
var_dump(!$f0);
bool(true)

And (and). Выражение принимает значение true, если оба его аргумента равны true.

var_dump($t0 and $t1);
bool(true)
var_dump($t0 and $f0);
bool(false)
var_dump($f0 and $t0);
bool(false)
var_dump($f0 and $f1);
bool(false)

Замечание

Существует альтернативная форма оператора And - &&, которая не проверяет второй аргумент, если первый равен false (в этом случае от значения второго аргумента все равно ничего не зависит). Эта форма предпочтительнее для использования, так как в ряде случаев работает немного быстрее.

var_dump($f0 && $t0);
bool(false)

Or (or). Выражение принимает значение true, если хотя бы один из его аргументов равен true.

var_dump($t0 or $t1);
bool(true)
var_dump($t0 or $f0);
bool(true)
var_dump($f0 or $t0);
bool(true)
var_dump($f0 or $f1);
bool(false)

Замечание

У этого оператора также существует альтернативная форма - ||, которая не проверяет второй аргумент, если первые равен true.

var_dump($t0 || $f0);
bool(true)

Xor (xor). Выражение принимает значение true, в том, и только в том случае, если один из его аргументов равен true, а другой - нет.

var_dump($t0 xor $t1);
bool(false)
var_dump($t0 xor $f0);
bool(true)
var_dump($f0 xor $t0);
bool(true)
var_dump($f0 xor $f1);
bool(false)

Created with DocBook Created with Libxslt


В избранное