문제

Why is it that this code prints "Hello!" four times and then prints "1":

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

While this doesn't print out "Hello!" at all and then prints "1":

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

I know AND and && have different precedences, but that doesn't seem to apply here. What am I missing? (I'm using a variant of the code above, since I will use $blah within the for loop, and I want to set the value for it). Thanks for any help!

도움이 되었습니까?

해결책

@OP, please read this doc. It explains the difference under Example #1 logical operators

다른 팁

I doubt that either the AND or && are what you're looking for here. If you want to execute both $i=1 and $blah=1 in the initialization expression, you need to separate them with a comma:

for ($i=1, $blah=1; $i<5; $i++) echo("Hello!");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top