【问题标题】:How to unset an array element matching index in php?如何在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。为了某事或其他!
  • $menu 是什么类型的变量,因为有一个 post/get 你只是在传递它的时候取消它?

标签: php arrays


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 2012-09-12
    • 2019-08-27
    • 2010-12-15
    • 2011-01-22
    相关资源
    最近更新 更多