Я просто работал над некоторой работой закрутки, пока не натолкнулся на интересное заявление. Думаю, что это никогда не выполнит утверждение if, к моему удивлению, это так. Как это выполняется?Как это сделать, если триггер состояния?
<?php
while (6 && 2 == 2) {
$test = "How the hell?!!?";
}
?>
Единственная причина, я могу думать, что это работает, что 6 оценивается как истина и 2 равно 2, который является истинным. Правильно ли я в этом мышлении? Первоначально я думал, что это невозможно выполнить, поскольку 6 явно не равны 2.
Возможный дубликат [Ссылка - что означает этот символ в PHP?] (Http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php) – Kermit
http: //php.net/manual/en/language.operators.precedence.php '==' имеет более высокий приоритет, чем '&&', поэтому это эффективно 'while (6 && true)', что всегда верно. –
Вы посмотрели на [приоритет оператора] (http://php.net/manual/en/language.operators.precedence.php)? (Да, ваша догадка правильная: '6 && 2 == 2' ==' 6 && (2 == 2) '==' 6 && true' == 'truey && true' ==' true'. – Wrikken