我有以下代码:

<?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']);

10-06 05:26
查看更多