PHP에서 연관 배열 보간: 예상치 못한 동작
PHP에서 연관 배열 요소를 보간할 때 특정 동작이 놀라움을 불러일으킬 수 있습니다. 다음 예를 살펴보세요.
<code class="php">$ha = array('key1' => 'Hello to me'); print $ha['key1']; // correct (usual way) print $ha[key1]; // Warning, works (use of undefined constant) print "He said {$ha['key1']}"; // correct (usual way) print "He said {$ha[key1]}"; // Warning, works (use of undefined constant) print "He said $ha['key1']"; // Error, unexpected T_ENCAPSED_AND_WHITESPACE print "He said $ha[ key1 ]"; // Error, unexpected T_ENCAPSED_AND_WHITESPACE print "He said $ha[key1]"; // !! correct (How Comes?)</code>
흥미롭게도 마지막 줄은 유효한 PHP 코드인 것 같습니다. 왜 그럴까요?
설명
이상해 보이는 구문을 신뢰하세요. 공식 문서에 따르면 모든 변수 보간 방법이 지원됩니다. 여기에는 중괄호로 묶지 않고 큰따옴표로 묶인 문자열 내의 배열 요소에 액세스하는 것이 포함됩니다.
이 특정 동작의 이유는 완전히 명확하지 않을 수도 있지만, 불일치가 필연적으로 발생하는 PHP의 역사적 발전에서 비롯됩니다. 그럼에도 불구하고 이 기능은 신뢰할 수 있으며 유효한 PHP 구문으로 널리 받아들여집니다.
위 내용은 PHP가 큰따옴표로 묶인 문자열에서 연관 배열 요소의 직접 보간을 허용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!