Telegram Group & Telegram Channel
Почему выражение $x = true and false; выводит bool(true)?

В выражении $x = true and false; результатом будет bool(true) из-за особенностей приоритетов операторов в PHP.

📌 Приоритет операторов
В PHP оператор присваивания = имеет более высокий приоритет, чем логический оператор and. Это означает, что выражение интерпретируется как:

($x = true) and false;

Здесь сначала выполняется присваивание $x = true, а затем результат этого выражения (true) используется в логической операции true and false, которая возвращает false. Однако это не влияет на значение переменной $x, которая уже была установлена в true.

Как получить ожидаемый результат
Если вы хотите, чтобы переменная $x получила результат логического выражения true and false (то есть false), необходимо использовать скобки для изменения порядка выполнения:

$x = (true and false);

Теперь сначала выполняется логическая операция true and false, результатом которой является false, и затем это значение присваивается переменной $x.

🔍 Альтернативный подход
Также можно использовать логический оператор &&, который имеет более высокий приоритет, чем and:

$x = true && false;

В этом случае выражение интерпретируется как:

$x = (true && false);

И переменной $x будет присвоено значение false, как и ожидалось.



tg-me.com/php_interview_lib/790
Create:
Last Update:

Почему выражение $x = true and false; выводит bool(true)?

В выражении $x = true and false; результатом будет bool(true) из-за особенностей приоритетов операторов в PHP.

📌 Приоритет операторов
В PHP оператор присваивания = имеет более высокий приоритет, чем логический оператор and. Это означает, что выражение интерпретируется как:

($x = true) and false;

Здесь сначала выполняется присваивание $x = true, а затем результат этого выражения (true) используется в логической операции true and false, которая возвращает false. Однако это не влияет на значение переменной $x, которая уже была установлена в true.

Как получить ожидаемый результат
Если вы хотите, чтобы переменная $x получила результат логического выражения true and false (то есть false), необходимо использовать скобки для изменения порядка выполнения:

$x = (true and false);

Теперь сначала выполняется логическая операция true and false, результатом которой является false, и затем это значение присваивается переменной $x.

🔍 Альтернативный подход
Также можно использовать логический оператор &&, который имеет более высокий приоритет, чем and:

$x = true && false;

В этом случае выражение интерпретируется как:

$x = (true && false);

И переменной $x будет присвоено значение false, как и ожидалось.

BY Библиотека собеса по PHP | вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/php_interview_lib/790

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

telegram from sa


Telegram Библиотека собеса по PHP | вопросы с собеседований
FROM USA