В PHP существуют различные типы операторов для выполнения логических операций. Это AND, OR, NOT и XOR. Эти операторы используются как логический и побитовый. В этой статьи основное внимание уделяется использованию оператора XOR. Полная форма XOR является эксклюзивной, OR, которая работает при двух условиях. Оператор XOR возвращает true, когда какое-либо условие возвращает истину, и возвращает ложь, когда оба условия возвращают true или false. Ключевое слово Xor используется между состояниями для выполнения логической операции Xor, а символ ‘^’ используется между операндами для выполнения побитовой операции xor. В этой статьи показано, как оператор xor может использоваться для логических и побитовых операций.
Оператор Xor используется в логической операции, а побитовая операция показана в следующей таблице.
Условие-1 / Операнд-1 | Условие-1 / Операнд-1 | Вывод |
---|---|---|
True или 1 | True или 1 | False или 0 |
True или 1 | False или 1 | True или 1 |
False или 0 | True или 1 | True или 1 |
False или 0 | False или 0 | False или 0 |
Различные варианты использования оператора XOR объясняются в этом разделе этой статьи на нескольких примерах.
В следующем примере показано использование оператора xor для проверки логической логики строковых данных. Здесь переменные $customer_id и $client_id инициализируются строковыми данными. Первое условие if с оператором xor проверяет, что первые два символа $customer_id – это «AL» или «CA». Оператор Xor вернет true для этого условия if, потому что одно условие возвращает true. Второе условие if с оператором xor будет проверять, что первые два символа $customer_id – это «AZ» или «GA». Xorоператор вернет false для этого условия if, потому что оба условия возвращают false. Третий , если условие с исключающим оператором будет проверять первые два $customer_id является «CA» или $client_id является «HI». Оператор Xor вернет false для этого условия if, потому что оба условия возвращают true.
<? php
// Инициализируем переменные
$customer_id = ‘CA-756345’;
$client_id = ‘HI-98765’;
// XOR вернет истину, если только одно условие вернет истину
if (substr($customer_id, 0, 2) == ‘AL’ xor substr($customer_id, 0, 2) == ‘CA’)
{
// Узнаем, какой условие вернуло истину,
if(substr($customer_id, 0,2) == ‘AL’)
echo “Клиент ( $customer_id) живет в <b> Алабаме </b> <br />”;
else
echo “Клиент ( $customer_id) живет в <b> Калифорнии </b> <br />”;
}
// XOR вернет false, если оба условия вернут false
if(substr($customer_id, 0, 2) == ‘AZ’ xor substr($customer_id, 0, 2) == ‘GA’
echo “Клиент ( $customer_id) проживает в <b> Аризоне </b> или <b> Джорджии </b> <br />”;
else
echo “Клиент ( $customer_id) не живет в <b> Аризоне </b> и не живет в <b> Джорджии </b> <br />”;
// XOR вернет false, если оба условия вернут true
if(substr($customer_id, 0, 2) == ‘CA’ xor substr($client_id, 0, 2) == ‘HI’
$customer_id, 0, 2) == ‘CA’)
echo “Клиент ( $customer_id) живет в <b> Калифорнии </b> <br />”;
else
echo “Клиент ( $customer_id) живет на <b> Гавайях </b> <br />”;
}
else
{
// Узнаем состояния клиента и клиента
if (substr($customer_id, 0, 2) == ‘CA’ и substr($client_id, 0, == ‘HI’)
{
echo “Клиент ( $customer_id) живет в <b> Калифорнии </b> <br />”;
echo “Клиент ( $client_id) живет на <b> Гавайях </b> <br />”;
}
}
?>
В следующем примере показано использование оператора xor для проверки логической логики числовых данных. Два числовые значения присваиваются в $num1 и $NUM2 переменных. Первое условие if с оператором xor будет проверять, что $num1 меньше 3 или больше 9. Оператор xor вернет true для этого условия if, потому что $num1 больше 9. Второе условие if с оператором xor будет проверять, что $num1 меньше чем или равно 10 или $num2 больше или равно 7. Оператор xor вернет false для этого если условие, потому что оба условия верны. Третье условие if с оператором xor проверяет, что $num1 больше 19 или $num2 равно 17. Оператор xor вернет false для этого условия if, потому что оба условия ложны.
<? php
// Инициализируем
числовые значения $num1 = 10;
$num2 = 7;
// Возвращает истину, если одно условие истинно
if ($num1 9)
echo “Число равно $num1 . <br />”;
// Возвращает истину, если условия верны
if ($num1 = 7)
{
if ($num1 <= 10)
echo “Условие истинно для $num1 . <Br />”;
else
echo “Условие верно для $num2. <br /> “;
}
else
{
if ($num1 = 7)
echo ” Оба условия верны. <br /> “;
else
echo ” Оба условия неверны. <br /> “;
}
// Возвращает false, если оба условия неверны
if ($num1 > 19 xor $num2 == 17)
{
echo “Одно из условий истинно. <br />”;
}
else
{
if (!($num1 8))
echo “Оба условия неверны. <br />”;
else
echo “Оба условия верны. <br />”;
}
?>
В следующем примере показано использование оператора xor для побитовой операции. Два двоичных числа инициализируются в переменных $number1 и $number2. Символ ‘^’ используется для выполнения побитовой операции xor над двоичными числами. По умолчанию для любого скрипта числовое значение печатается в виде десятичного числа. Функция decbin () используется в скрипте для печати вывода в двоичном формате.
Использование оператора Xor между логическими условиями и двоичными числами было объяснено с использованием нескольких примеров в этой статьи. Читатели поймут логику оператора xor и применит ее к условному оператору и побитовой операции после прочтения этого руководства.