从命名的多维数组中删除一个值[关闭]

Posted

技术标签:

【中文标题】从命名的多维数组中删除一个值[关闭]【英文标题】:Remove a value frome a named multi dimension array [closed] 【发布时间】:2016-04-12 12:30:11 【问题描述】:

我有一个这样的数组:

Array
(
    [core.login.site] => Array
        (
            [6] => 1
            [2] => 1
        )

    [core.admin] => Array
        (
            [20] => 1
            [1] => 1
            [8] => 1
            [53] => 1
        )

    [core.manage] => Array
        (
            [7] => 1
        )


)

现在我想取消设置数组[core.admin] 中的值。我尝试像这样取消设置值:

$rolid = 53;
unset($array['core.admin'][$rolid]);

但这似乎不起作用

【问题讨论】:

无法重现您的问题:3v4l.org/uuPRK 请确保向我们展示您的完整真实代码。 1) 您在此处向我们展示了您阵列中print_r() 的输出,对吧? 2)您需要给我们一个minimal reproducible example,以便我们重现您的问题 ***.com/a/4466437/107612 可能是一个适合您需求的好答案。 我的数组的 print_r 看起来像这样 【参考方案1】:

用这个替换你的第一块代码:

 $array = Array
    (
        'core.login.offline' => Array
            (
                6 => 1
            ),

        'core.admin' => Array
            (
                20 => 1,
                1 => 1,
                8 => 1,
                53 => 1
            )
    );

你有很多语法错误,我建议你复习一下php

数组键必须是字符串或整数,因此您必须用单引号/双引号替换这些括号。如果有另一个继续值/键值对,还必须在数组值后添加逗号。

【讨论】:

OP 可能向我们展示了print_r(); 的输出,只需将$array = 放在它前面。 如果我根据给定的信息回答正确,即使您是对的,基于“可能”投票是否不公平? 我很确定这是print_r() 的输出,因为它看起来就像这样。此外,由于 OP 在其下编写了完全有效的代码,我确信他知道如何正确定义数组。从目前的信息来看,问题是不可能重现错误,所以问题应该这样结束 输出是 print_r,但我发现了问题。我放错了;在我未设置 php -l 后没有报告它。 问题已解决【参考方案2】:

我发现了问题:在我的 unset php -l 没有报告之后,这是一个放错位置的;

【讨论】:

以上是关于从命名的多维数组中删除一个值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PHP 中的多维数组中删除重复值

根据值从多维数组中删除元素

从php中的多维数组中删除重复值

如何从 PHP 中的多维数组中删除重复值 [重复]

如果两个值匹配,则从 php 中的多维关联数组中删除重复项

单击按钮时如何从本地存储中删除多维数组?