2016-04-03 5 views
0

Я пытаюсь получить многомерные значения массива из массива с использованием цикла foreach. Но это как раз говорит, что не определено имя индексаРасширение многомерных массивов с помощью цикла foreach

while($row = mysqli_fetch_assoc($qry)) { 
    $main[]['id'] = $row['categories_id']; 
    $main[]['name'] = $row['categories_name']; 
} 
foreach($main as $m) { 
    $main_filters .= '<li>'.$m['name'].'</li>'; 
} 

так уверен, что я делаю неправильно здесь, любые идеи, то как я могу получить многомерные значения всех элементов массива массив $ основной, идентификатор и имя?

+2

как указано ниже, но также вам не нужно 2 петли, сделайте все в одном –

+1

Просто дружелюбный совет, вы можете прочитать эту страницу: [How-To-Ask Guide] (https://stackoverflow.com)/help/how-to-ask), так что вы всегда можете быть уверены, что ваши вопросы легко подотчетны и максимально ясны. Обязательно включите все усилия, которые вы предприняли для устранения проблемы, с которой вы столкнулись, и что произошло при попытке этих исправлений. Также не забывайте свой код и любые сообщения об ошибках! –

+0

Да, это намного проще с одним циклом. – Source

ответ

1

Заменить

$main[]['id'] = $row['categories_id']; 
$main[]['name'] = $row['categories_name']; 

с

$main[] = [ 
    'id' => $row['categories_id'], 
    'name' => $row['categories_name'] 
]; 

иначе создать два новых элемента в каждой итерации, и вы не хотите этого.

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