이상해 보이는 질문에서 나온 것입니다:
if (print("1\n") && print("2\n") && print("3\n") && print("4\n")) { ; }
이 코드가 무엇을 출력할 것으로 예상하시나요?
실제 출력은 다음과 같습니다.
4 111
인쇄물이 문법 구조(언어 구조)라는 사실을 우리는 자주 무시합니다. , 함수가 아니며 매개변수 목록에는 괄호가 필요하지 않습니다(괄호를 써도 구문 분석 단계에서 괄호는 무시됩니다). 항상 결과를 반환하는 표현식일 뿐입니다. 1 공식(expr)" :
expr : T_PRINT expr | '(' expr ')' ; 所以其实上面的代码在php看来是: if (print ("1\n" && print ("2\n" && print ("3\n" && print "4\n")))) { ; }
그래서 4를 출력하고 "3n"을 출력하고 && 인쇄 결과는 1이 되고 "2n" && 1을 출력하고 마지막으로 "1n" && 1
그리고 위의 목적을 달성하려면 의도된 것입니다 코드 자체의 의도에 따라 다음과 같이 작성해야 합니다.
if ((print "1\n") && (print "2\n") && (print "3\n") && (print "4\n")) { ; }
위 내용은 인쇄는 기능이 아닙니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!