함수의 반환 값에서 배열에 직접 액세스 할 수 있기를 원합니다.함수에 의해 반환 된 배열의 키에 액세스하는 방법
e.g.
$arr = find_student();
echo $arr['name'];
// I want to be able to do
echo find_student()['name']
어떻게하면됩니까? 다른 코드 줄이 없다면?
함수의 반환 값에서 배열에 직접 액세스 할 수 있기를 원합니다.함수에 의해 반환 된 배열의 키에 액세스하는 방법
e.g.
$arr = find_student();
echo $arr['name'];
// I want to be able to do
echo find_student()['name']
어떻게하면됩니까? 다른 코드 줄이 없다면?
수 없습니다. PHP 구문 구문 분석기는 제한되어 있으며 현재 버전에서는 허용되지 않습니다.
PHP 개발자는 곧 출시 될 PHP 용 파서를 확장했습니다. 구문 분석 오류 : 여기 blog talking about it
에 대한 링크가 당신이 :)
function find_student() {return array('name'=>123);}
echo find_student()['name'];
결과 캔트이다 ','기대 '['구문 오류, 예기치 않은 또는 ';'
ArrayObject을 사용하면 비슷한 것을 할 수 있습니다.
function find_student() {
//Generating the array..
$array = array("name" => "John", "age" => "23");
return new ArrayObject($array);
}
echo find_student()->name;
// Equals to
$student = find_student();
echo $student['name'];
단점은 array_merge()
과 같은 기본 배열 기능을 사용할 수 없다는 것입니다. 그러나 배열 에서처럼 객체 에서처럼 데이터에 액세스 할 수 있습니다.
그래,이 방법 중 하나 일 것입니다. 감사합니다 –
또한 배열 함수를 사용하려면 다음과 같이하면됩니다 : (array) find_student(); – Prof83
원하는 것을 수행 할 수 없습니다. 먼저 변수에 반환 값을 할당해야합니다. – jere
PHP 5.4의 경우 몇 주/개월 동안 기다려야합니다.이 구문을 허용합니까? –