首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法删除数组中的特定项

无法删除数组中的特定项
EN

Stack Overflow用户
提问于 2019-01-22 05:35:36
回答 3查看 52关注 0票数 0

我有一个包含以下项的数组(content):

代码语言:javascript
运行
复制
Array
(
    [0] => Array
        (
            [id] => 53
        )

    [1] => Array
        (
            [id] => 54
        )

    [2] => Array
        (
            [id] => 60
        )
)

我想删除在另一个数组中具有特定id的所有项,例如:$to_remove = ["53", "54", "60"],我所做的是:

代码语言:javascript
运行
复制
foreach($to_remove as $id)
{
     $key = array_search($id, array_column($content, 'id'));
     unset($content[$key]);   
}

问题是,在最终结果中,我得到了:

代码语言:javascript
运行
复制
Array
(
    [2] => Array
        (
            [answer] => >20%
            [points] => 3
            [id] => 60
        )

)

为什么?

EN

Stack Overflow用户

发布于 2019-01-22 05:57:13

这里有一个有趣的方式:

代码语言:javascript
运行
复制
$content = array_intersect_key($content,
                               array_diff(array_column($content, 'id'), $to_remove));

从原始数据中提取id值,使用$to_remove计算差异,然后计算与原始数据的关键差异。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54298079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档