가능한 중복 :
PHP 5.3에서
php explode and array indexPHP : 정적 함수에 의해 반환 된 배열의 첫 번째 요소에 액세스하는 방법
...
내가 가지고 항상 배열을 반환하는 동적 정적 메서드입니다. 어떤 경우에는 하나의 요소 만 포함하는 배열을 반환합니다. 한 문장으로 배열의 첫 번째 요소를 변수에 할당하려고합니다. 순간 나는이 작업을 수행해야한다 :
$user = User::findByEmail($_SESSION['email']);
$user = $user[0];
echo $user;
나는 부분을 피하려고 ...
$user = $user[0];
내가 일을 이런 식으로 뭔가를 기대 :
$user = User::findByEmail($_SESSION['email'])[0]; // not working
또는
$user = User::findByEmail($_SESSION['email'])->get(0); // not working
또는
$user = current(User::findByEmail($_SESSION['email']));
배열이 변수에 할당하지 않았기 때문에 기능을 사용하여 current()
항상 첫 번째 요소를 반환합니다 및 :
$user = User::findByEmail($_SESSION['email']).get(0); // not working
PHP 5.4가 없으면 피할 수 없습니다. 5.4는 array_shift (User :: findByEmail ($ _ SESSION [ 'email']))'를 호출하면'$ user = user :: findByEmail ($ _ SESSION [ 'email']) [0];' –
' 그것은 배열 참조를 얻지 못하고있다. –
두 개의 get() 버전은 findByEmail이 객체를 반환 한 경우에만 작동합니다. –