PHP의 동적 배열 액세스 [원본: 즉시 배열 값 액세스]
PHP는 대괄호 표기법을 사용하여 배열 값에 액세스하는 기능을 제공합니다. ([]). 그러나 일반적인 문제점은 표현식으로 작업할 때 이를 직접적으로 달성할 수 없다는 점입니다.
문제:
다음 예에서는 다음을 사용하여 배열 값에 액세스하려고 합니다. 대괄호 표기법 안의 표현식은 다음과 같습니다. 오류:
echo array('a', 'b', 'c')[$key];
해결책:
이 오류의 원인은 PHP 문법의 제한 때문입니다. 아래 첨자 표기법은 일반 표현식이 아닌 변수 표현식에만 유효합니다. 이를 극복하기 위해 중간 변수를 사용할 수 있습니다:
$variable = array('a', 'b', 'c'); echo $variable[$key];
기술적 설명:
PHP의 문법은 표현식에 아래 첨자 표기를 허용하지 않습니다. 이는 함수 호출, 괄호 또는 기타 표현식의 결과에 이를 적용할 수 없음을 의미합니다. 이 동작은 표현식에 대해 아래 첨자를 확인할 수 있는 다른 언어와 다릅니다.
잘못된 아래 첨자의 추가 예:
$x = array(1, 2, 3); print ($x)[1]; // Invalid: Subscripted expression is a parenthetical expression. function ret($foo) { return $foo; } echo ret($x)[1]; // Invalid: Subscripted expression is a call expression.
위 내용은 PHP에서 표현식을 사용하여 배열 값에 액세스할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!