Оператор заказывает LTR или RTL?

Если у меня есть условное заявление

if (A > B || B > C)

Какое утверждение будет оцениваться первым: «A> B» или «B> C»?

Применяется ли тот же порядок к математическим выражениям:

$var = $value1 + $value2 + $value3;

Спасибо,
Алекс.

0

Решение

В PHP скрипт оценивается слева направо, если не используются круглые скобки, если они используются, он вычисляется в логическом порядке. Кроме того, помните, что ни один код в блоке условия if (включая оценщики) не запускается после первого оператора с ошибкой. Этот пример выполнит только второй эхо $ a, и его значение будет 0

$a = 0;

if(1 == 0 && $a = 5)
{
echo $a;
}
echo $a;

Этот оператор будет иметь значение $ 5 и будет выполнять оператор. Интересно, что причина того, что код будет выполняться, заключается в том, что присваивание $ a = 5 в if устанавливает $ a = 5 или «5 = 5».

if(1 == 1 && $a = 5)
{
echo $a;
}

Также обратите внимание, что есть еще и еще, если заявления, если вы не смотрели в него

$a =2
if($a == 2)
{

}
else if($a > 2){
echo ">".$a;
}
else{
echo "its none of the conditions";
}

Причина, по которой вы используете два знака равенства, заключается в сравнении нечувствительного к типу значения с одним равенством, которое будет присваивать значение. Есть также три равенства, которые сравнили бы тип и пример значения. Это оценило бы как true:

$a = 2;
if($a == "2")

Следующее не будет верно, потому что вы сравниваете строку с целым числом.

$a = 2;
if($a === "2")

Что касается ваших вторых вопросов, то же самое относится и к операторам String, но ваш синтаксис недействителен.

Этот пример сказал бы Hellow World:

echo "hellow"."world";

Этот пример НЕ ДЕЛАЕТ КОНКАТЕНЦИЮ (хотя он бы добавил, если бы они были целыми числами)

echo "hellow" + "world";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]