나는 조금 주위에 파고했습니다,하지만 난 당신이 내 창자가 말한다
<?php
$x=2;
if(1<$x<3) {
echo "Win!";
} else {
echo "Lose!";
}
?>
같은 코딩 할 수없는 이유에 간단한 답을 찾을 수가 없어 할 수 PHP는 좌우를 읽기 때문에, 그것을 성명 (1<$x
)의 전반부를 평가 한 다음 의미가없는 < 3을 봅니다. 나는 이것이 누군가가 PHP를 조건으로 제공 할 때마다 각각을 분리해야한다는 것을 확인 (또는 반박)하기를 원할 것이다. 이것이 논리 또는 구문 또는 다른 것으로 불릴 지 모르겠다. 그러나 SAS와 같은 다른 문맥에서 이와 같은 표현식을 작성하고 평가 해 볼 수는있다. 그래서 왜 네가 할 수 없는지 이해하고 싶다. PHP. 감사!
*보다 작음 * 연산은 [이진 연산] (http://en.wikipedia.org/wiki/Binary_operation)입니다. – Gumbo
또한 [왜 (0 <5 <3)가 true를 반환합니까?]를 참조하십시오. (http://stackoverflow.com/questions/4089284/why-does-0-5-3-return-true) – BoltClock
@Gumbo : 방법 그것은 PHP와 다른 대부분의 언어로, 어쨌든 정의됩니다. 수학, Lisp과 파이썬은 다르게 생각합니다. – delnan