2014-02-13 1 views
2

나는 입력이 배열 일 경우 첫 번째 항목을 얻으려는 목적으로 배열이 될 수도 있고 아닐 수도있는 입력을 다룰 생각이다.캐스팅 된 표현식의 색인에 액세스 할 수 있습니까?

$payload = ((array)json_decode($mapOrArray))[0]; 

그러나 이것은, 인터프리터 잘 앉지 않았다 : 여기

내가 그것에 대해 갈 계획 한 방법이다. 대신, 나는 현재 이것을 사용하고 있습니다 :

$payload = array_values((array)json_decode($mapOrArray))[0]; 

캐스팅 된 배열을 쓸모없는 메서드로 래핑 한 후에는이 접근법을 사용할 수 있습니다.

캐스트 결과의 색인에 액세스하는 것이 단일 명령문으로 불가능합니까? 그렇다면, 외래 변수를 도입하지 않고이 작업을 처리하는 더 좋은 방법은 무엇입니까?

+0

[예] (http://stackoverflow.com/a/23455039/383793)? –

+0

@ChrisWesseling 답변으로 문제가 해결되지만 "예"가 아닙니다. 캐스트 된 표현식의 색인에 액세스 할 수 있음을 보여 주 지 않았습니다. –

+0

그래, 그냥 제목에서 일반적인 하나가 아니라 의도 한 경우 않습니다. 하지만 여전히, 왜? ;-) –

답변

1
list($payload) = (array) json_decode($mapOrArray); 
관련 문제