【问题标题】:expanding multidimensional arrays with a foreach loop使用 foreach 循环扩展多维数组
【发布时间】:2016-04-03 00:43:03
【问题描述】:

我正在尝试使用 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 中所有元素的多维值?

【问题讨论】:

  • 如下回答,但您也不需要 2 个循环,一次性完成所有操作
  • 只是一个友好的提示,您可能需要阅读此页面:How-To-Ask Guide,这样您就可以始终确保您的问题易于回答且尽可能清晰。请务必包括您为解决遇到的问题所做的任何努力,以及尝试这些修复时发生的情况。也不要忘记您的代码和任何错误消息!
  • 是的,一个循环就简单多了。

标签: php arrays multidimensional-array foreach


【解决方案1】:

替换

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

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

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

【讨论】:

    猜你喜欢
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 2018-07-13
    • 2011-08-30
    • 1970-01-01
    • 2022-12-01
    相关资源
    最近更新 更多