2014-09-16 3 views
0

Я просто не могу заставить этот массив играть хорошо. Я использую Laravel 4.2 и я метания: ErrorException (E_UNKNOWN) Undefined смещение: 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) Неопределенное смещение:

Любая помощь будет принята с благодарностью.

+1

Простой цикл, например 'foreach ($ tags as $ tag) {echo $ tag ['name']; } 'will do - если у вас есть PHP5.5, вы также можете использовать' $ names = array_column ($ tags, 'name'); 'для извлечения массива всех имен http://us1.php.net/manual /en/function.array-column.php Это то, что вы ищете? –

+0

Как странно - мысль пробовала это - это работает - Спасибо! – Zeb99

ответ

1

Хотя @MichaelBerkowski правильно, если вы действительно хотели сделать это с Laravel хелперов массива, было бы:

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

, который даст вам массив, а не строка (так что наличие echo $name как в вашем пример даст вам ошибку Array to string conversion).

Вы можете ввести в заблуждение синтаксис вы пытающегося когда у вас есть многомерный ассоциативный массив, как в документации Laravel для array_fetch: http://laravel.com/docs/helpers

Кстати, если $tags был сбор, вы могли бы сделать: $tags->lists('name');

+0

Да, я сначала получил массив для строковой ошибки - класс коллекций выглядит полезным - спасибо за совет – Zeb99

Смежные вопросы