使用foreach循环扩展多维数组


expanding multidimensional arrays with a foreach loop

我正试图使用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>';
}

那么确定我在这里做错了什么,有什么想法吗,比如我如何获得数组$main、id和name中所有元素的多维值?

更换

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

带有

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

否则,您将在每次迭代中创建两个新元素,但您不希望这样。