я видел следующее предложение в PHP код:Или оператор присваивания левой стороны
$a OR $a = $b;
Что такое поведение этого кода?
или
Что является целью настоящего кодекса?
Спасибо,
я видел следующее предложение в PHP код:Или оператор присваивания левой стороны
$a OR $a = $b;
Что такое поведение этого кода?
или
Что является целью настоящего кодекса?
Спасибо,
Оператора «ИЛИ» является логическим оператором, используемым для проверки, если один из двух (или более) точки зрения это верно. если либо $ a, либо ($ a = $ b) TRUE. Оператор «==» (в вашем вопросе is =, но я думаю, что is ==) является оператором сравнения, используемым для проверки того, равен ли $ a равно $ b (например, такое же значение, термин A является истинным, а термин B равен true, другие случаи). Thanks
Возможно, вы захотите отредактировать свой ответ в соответствии с комментарием Райана. Правильный код '=' в исходном коде. – andrewsi
Символ (=) в PHP является базовым оператором присваивания. Правильно? – Jefersonfs
Вы правы. Что делает код, это проверить, имеет ли значение '$ a' значение; если он имеет значение, которое вычисляется как false, тогда он присваивает ему значение '$ b'. Он работает, потому что операция OR оценивается слева направо, и если левая сторона оценивается как истина, то правая сторона никогда не проверяется. Я видел эту конструкцию в нескольких местах, и, хотя мне нравится компактность, я бы предпочел немного более подробный код, который намного легче читать, когда я вернусь к нему через шесть месяцев. – andrewsi
Hi. Пожалуйста, сообщите - это '$ a OR $ a = $ b' часть SQL-запроса? –
Я думаю, что это синтаксическая ошибка в PHP - один знак равенства - это назначение, а не сравнение. Нам нужно будет увидеть больше кода, и некоторые объяснения/контекста тоже будут хороши. – halfer
Это оператор _conditional assign_. Я ожидаю, что он оставит текущее значение _ $ a_ в одиночку, если оно содержит «истинное» значение. В противном случае _ $ a_ получает значение в _ $ b_. Другой способ сказать это - установить значение $ a в значение $ b, если $ a - false. OR «коротких замыканий», поэтому, если оценка $ a является «истинной», останавливается. ; -/ –