Использование AND vs && в цикле for (не связано с приоритетом?) - PullRequest
1 голос
/ 03 февраля 2010

Почему этот код печатает "Привет!" четыре раза, а затем печатает «1»:

<?php
for ($i=1 AND $blah=1; $i<5; $i++) echo("Hello!");
echo($blah);
?>

Хотя это не распечатывает "Привет!" на всех, а затем печатает "1":

<?php
for ($i=1 && $blah=1; $i<5; $i++) echo("Hello!");
echo($blah);
?>

Я знаю, что AND и && имеют разные приоритеты, но здесь это не похоже. Что мне не хватает? (Я использую вариант кода выше, так как я буду использовать $ blah в цикле for, и я хочу установить для него значение). Спасибо за любую помощь!

Ответы [ 2 ]

3 голосов
/ 03 февраля 2010

@ OP, пожалуйста, прочитайте этот документ. Это объясняет разницу в логических операторах примера №1

1 голос
/ 03 февраля 2010

Я сомневаюсь, что либо И, либо && - это то, что вы ищете здесь.Если вы хотите выполнить оба $i=1 и $blah=1 в выражении инициализации, вам нужно разделить их запятой:

for ($i=1, $blah=1; $i<5; $i++) echo("Hello!");
...