php - 无法在多维数组中声明新数组

标签 php mysql arrays function multidimensional-array

我有这个代码:

<?php
foreach($arrs_menu as $show_submenu => $k){
    $get_parent_menus[$k['donemen']][] = array(
        $k['id_page'] => $k['id_page']
    );
}
?>

这里的问题是,我试图在 $get_parent_menus[$k['donemen']] 中放置一个新数组,所以当我放置这个 [],为了不替换当前数组并创建一个新数组,它给我一个错误:[] 运算符不支持字符串。

如果我删除它,我就可以了,但只有在正确设置值后才可以。

这段代码有什么问题?

最佳答案

看起来 $get_parent_menus[$k['donemen']] 是一个字符串而不是一个数组。

您可以做的是将原始值放入数组(如果它还不是数组):

if (!is_array($get_parent_menus[$k['donemen']]))
{
  // trying to keep the original value although I don't know where the key should come from...
  $get_parent_menus[$k['donemen']] = array(array('some_key' => $get_parent_menus[$k['donemen']]));
}
$get_parent_menus[$k['donemen']][] = array($k['id_page'] => $k['id_page']);

关于php - 无法在多维数组中声明新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22820623/

相关文章:

php - 检测 mysqli 准备语句中的错误

php - Composer (PHP) 如何融入 Docker 工作流程?

php - 从2个表中选择多个数据,单击后按钮将禁用

php - 需要从studentsDB统计页面知道每个城市有多少学生

java - 列表数组中的 ArrayList

php - 服务器到客户端回调 - PHP/JavaScript

php - 在多个表中搜索 - 将结果作为一列给出

javascript - EcmaScript6 findIndex 方法,它可以返回多个值吗?

c - C中求数组到0为止的最大、最小、总和、平均值

php - 百分号在 PHP 中有什么作用?