我有这个代码:
<?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/