如何在php中取消设置数组元素匹配索引


How to unset an array element matching index in php?

$菜单包含:

Array
    (
        [0] => Array
            (
                [menu] => Array
                    (
                        [name] => Home
                        [controller] => frontends
                        [action] => index
                    )
            )
        [1] => Array
            (
                [menu] => Array
                    (
                        [name] => Feedback
                        [controller] => feedbacks
                        [action] => add
                    )
            )
        [2] => Array
            (
                [menu] => Array
                    (
                        [name] => Reseller
                        [controller] => resellers
                        [action] => login
                    )
            )
    )

我想删除

[2] => Array
        (
            [menu] => Array
                (
                    [name] => Reseller
                    [controller] => resellers
                    [action] => login
                )
        )
unset($menu[2])

工作良好。但我不确定这份菜单是否总是低于2个索引。所以我想在$menu[$i][menu][name] == 'Reseller'时删除此项目。有人能帮忙吗?

没有对此进行测试,但应该可以工作。

foreach ($menu as $index => $menu_item) {
    if ($menu_item['menu']['name'] == 'Reseller') {
        unset($menu[$index]);
    }
}