2014-09-16 3 views
0

나는이 배열을 멋지게 재생할 수 없습니다. 내가 Laravel 4.2을 사용하고 있는데 던지고 : ErrorException (E_UNKNOWN) 정의되지 않은 오프셋 : 1정의되지 않은 오프셋 다차원 배열 Laravel

$tags = Test\Zero::get_tags(); 

dd ($tags); 

    array (size=2) 
    0 => 
    array (size=4) 
     'guid' => string '-a035-4742-bb65-c44' (length=36) 
     'name' => string 'tagtest1' (length=9) 
     'updateSequenceNum' => int 14 
     'parentGuid' => null 
    1 => 
    array (size=4) 
     'guid' => string '-905e-466e-9e91-33ddggg4' (length=36) 
     'name' => string 'testtag2' (length=11) 
     'updateSequenceNum' => int 19 
     'parentGuid' => null 

$tags = array_dot(`$tags); 


array (size=8) 
    '0.guid' => string '-a035-4742-bb65-c44' (length=36) 
    '0.name' => string 'tagtest1' (length=9) 
    '0.updateSequenceNum' => int 14 
    '0.parentGuid' => null 
    '1.guid' => string '-905e-466e-9e91-33ddggg4' (length=36) 
    '1.name' => string 'testtag2' (length=11) 
    '1.updateSequenceNum' => int 19 
    '1.parentGuid' => null 


$name = array_fetch($tags, '1.name'); 
echo $name; 

어떻게 루프를 키의 이름으로 '모든 값을 표시 할 수 있습니까? 내가 시도한 모든 것이 ErrorException (E_UNKNOWN)을 제공합니다. 정의되지 않은 오프셋 :

도움이 될만한 점이 많습니다. @MichaelBerkowski가 올 동안 당신이 Laravel 배열 헬퍼와 함께이 작업을 수행 할 않은 경우

+1

'foreach ($ tags as $ tag) {echo $ tag [ 'name']; }'할 것입니다 - PHP5.5를 사용한다면'$ names = array_column ($ tags, 'name');'을 사용하여 모든 이름의 배열을 검색 할 수 있습니다 http://us1.php.net/manual /en/function.array-column.php 그게 당신이 찾고있는 것입니까? –

+0

기괴한 생각 - 그것을 시도했다는 생각 - 작동합니다 - 감사합니다! – Zeb99

답변

1

, 그것은 다음과 같습니다

$names = array_fetch($tags, 'name'); 

당신에게 배열이 아닌 문자열을 줄 것이다 (그래서처럼 echo $name을 가진 당신의 예를 들어 Array to string conversion 오류가 발생합니다).

당신은 당신이 array_fetch에 대한 Laravel 워드 프로세서와 같이 다차원 연관 배열이있을 때를 위해 시도했던 구문 혼동 될 수있다 $tags이 컬렉션 인 경우 http://laravel.com/docs/helpers

덧붙여를, 당신은 할 수 : $tags->lists('name');

+0

예 처음 배열에 문자열 오류가 발생했습니다. 컬렉션 클래스가 유용합니다. 조언을 주셔서 감사합니다. – Zeb99

관련 문제