Головна » Файли » PHP » PHP

Логические операторы в PHP
25.05.2012, 19:22
Логические операторы выдают истинные или ложные результаты, поэтому их также называют булевыми операторами. Всего имеется четыре таких оператора.
 

Логические оператор
Описание
AND

Возвращает истинное значение (TRUE), если оба операнда имеют истинные значения

OR

Возвращает истинное значение (TRUE), если любой из операндов имеет истинное значение

XOR

Возвращает истинное значение (TRUE), если один из двух операндов имеет истинное значение

NOT

Возвращает истинное значение (TRUE)I если операнд имеет ложное значение, или ложное значение (FALSE), если он имеет истинное значение

Использование этих операторов показано в примере.

Заметьте, что PHP требует использовать вместо слова NOT символ ! . Кроме того, операторы могут быть составлены из букв нижнего или верхнего регистра.

?>php

$a = 1; $b = 0;

echo ($a AND $b) . "<br />";

echo ($a or $b) . "<br />";

echo ($a XOR $b) . "<br />";

echo !$a . "<br />";

?>

Этот пример выводит на экран NULL, 1, 1, NULL. Это значит, что только вторая и третья инструкции echo получают в результате вычисления значение TRUE. (Следует помнить, что NULL, или ничто, отображает значение FALSE.) Такой результат получается, потому что оператору AND, чтобы вернуть значение TRUE, нужно, чтобы оба операнда имели истинное значение, а четвертый оператор проводит над значением переменной $a операцию NOT, превращая eгo из TRUE (значения, равного единице) в FALSE. Если есть желание поэкспериментировать, запустите этот код, присваивая переменным $a и $b разные значения, выбранные из1иО.

Занимаясь программированием, следует помнить, что у операторов AND u OR более низкий уровень приоритета, чем у других версий этих операторов - && и ||. Поэтому в сложных выражениях более безопасным будет, наверное, применение операторов && и ||. 

При использовании в инструкции if оператор OR может стать причиной непредвиденных проблем, поскольку второй операнд не будет вычисляться, если в результате вычисления первого операнда уже получено значение TRUE. В примере ниже функция getnext никогда не будет вызвана, если переменная $finished имеет значение 1.

Инструкция, использующая оператор OR

?php

if ($finished == 1 OR getnext( ) ==1) exit;

?>

Если нужно, чтобы функция getnext вызывалась для каждой инструкции if, следует внести в код изменения, показанные в примере.

?php $gn = getnext ( );

if ($finished == 1 OR $gn == 1) exit;

?>

В этом случае код в функции getnext будет выполнен и возвращенное значение будет сохранено в переменной $gn еще до выполнения инструкции if. В таблице показаны все допустимые варианты использования логических операторов. Следует заметить, что !TRUE является эквивалентом FALSE, а !FALSE - эквивалентом TRUE.

Входные данные
Оператры и результаты
a
b
AND
OR
XOR
TRUE
TRUE TRUE TRUE TRUE
TRUE FALSE FALSE TRUE TRUE
FALSE
TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE
Категорія: PHP | Додав: [UA]Admin
Переглядів: 852 | Завантажень: 0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]

Яку музику полюбляєте?
Всего ответов: 45
Реклама на сайті Чорнобай - 063-878-77-71 Ковка Киев
Найближчі населені пункти до селища міського типу    Чорнобай: Ви власник цих сайтів, пропоную співпрацю! м. Золотоноша20 км
смт. Оржиця29 км
м. Черкаси32 км
смт. Драбів34 км
смт. Новооржицьке48 км
м. Гребінка50 км
с. Великі Липняги56 км
м. Сміла59 км
м. Лубни61 км
Четвер
25.04.2024
01:50

[ Управління профілем ]
Онлайн радио

OnLine
Онлайн всього: 1
Гостей: 1
Користувачів: 0

Користувачів онлайн:
На сайті Чорнобай були:

Ремонт компютерів настройка та устаноака систем, програм та антивірусів, створення рефератів, дипломних, курсових, робіт.Банери та дизайн. Створення сайтів Черкаси - Чорнобай тел. - 063 - 878 - 77 - 71 - 096 - 180 - 12 - 12