왜 이것이 사실로 평가됩니까? $test = true and false;
PHP에서 &&와 연산자의 차이점
아니요? 나는 또한 및 연산자를 기대하는 것입니다 그것은 모두 false로 평가합니다 & & 연산자와 $test = (true and false);
. 외관상으로는 그들은 다른 우선권이있다는 사실을 제외하고는 상호 교환 할 수 없다. ($test = true) and false;
왜 이것이 사실로 평가됩니까? $test = true and false;
PHP에서 &&와 연산자의 차이점
아니요? 나는 또한 및 연산자를 기대하는 것입니다 그것은 모두 false로 평가합니다 & & 연산자와 $test = (true and false);
. 외관상으로는 그들은 다른 우선권이있다는 사실을 제외하고는 상호 교환 할 수 없다. ($test = true) and false;
&&
>=
>and
을 제외하고는 동일합니다
// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))
$g = true && false;
// The constant true is assigned to $h and then false is ignored
// Acts like: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
false, true를 출력합니다.
는 "& &는"
을 "과"보다 더 큰 우선 순위를 가지고 : 첫 번째 예에 해당하므로이것은 parentesis가없는 동일한 줄에서 할당과 비교를하는 데 유용합니다.'if ($ a = true and $ b)'는'$ a'를'true '로 설정하고 논리적 연산을 해결합니다. 표현식이'true'로 평가되면'if' 블록 범위에서'$ a'의 값을 사용할 수 있습니다. 이것은 : if (($ a = true) && $ b)'와 같습니다. –
짧고 명확한 대답. 이것은 스택 오버플로에 필요한 것입니다. – Stranger
http://es1.php.net/manual/en/language.operators.precedence.php –
참조 http://stackoverflow.com/questions/2803321/and-vs-as-operator – Luca
다른 질문으로 답을 찾았습니다 : http://stackoverflow.com/a/2803576/1630609 –