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

Posted

技术标签:

【中文标题】如何在php中取消设置数组元素匹配索引?【英文标题】:How to unset an array element matching index in php? 【发布时间】:2016-02-09 10:44:27 【问题描述】:

$menu 包含:

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'时删除这个项目。有谁能帮忙吗?

【问题讨论】:

如果只有一种方法可以遍历数组,请检查条件是否为真并使用该索引删除项目。提示。 @SamiKuhmonen 等等,我认为这是一种遍历数组的方法,检查条件是否为真并使用该索引删除项目。现在是什么 Ermmmm。为了某事或其他! Remove value from array In php的可能重复 $menu 是什么类型的变量,因为有一个 post/get 你只是在传递它的时候取消它? 【参考方案1】:

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

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

【讨论】:

以上是关于如何在php中取消设置数组元素匹配索引?的主要内容,如果未能解决你的问题,请参考以下文章

PHP - 在foreach循环中取消设置数组元素[重复]

取消设置 php 参考

取消设置操作后将PHP数组索引重置为从0开始[重复]

如何在php中取消设置空数组?

如何在 PHP 中取消设置会话数组

如何在php中取消设置xml元素?