php - 比较两个数组并从 PHP 中的数组中删除数组

标签 php arrays

我有两个数组,我需要从更大的数组中移除更小的数组

$a = array(223 => 6, 381 => 6);

第二个数组是:

$b = array(array('id' => 45, 'username' => 'rock'), array('id' => 223, 'username' => 'pop'), array('id' => 381, 'username' => 'stock'));

使用 print_r() 它们看起来像这样

Array
(
    [223] => 6
    [381] => 6
)

Array
(
    [0] => Array
        (
            [id] => 45
            [username] => rock
        )

    [1] => Array
        (
            [id] => 223
            [username] => pop
        )

    [2] => Array
        (
            [id] => 381
            [username] => stock
        )

)

如何从 $b 数组中删除 id != $a[keys] 所以结果我会有这样的数组

Array
(
    [0] => Array
        (
            [id] => 223
            [username] => pop
        )

    [1] => Array
        (
            [id] => 381
            [username] => stock
        )

)

我尝试使用 array_diff、array_search 和 unset,但不知道它是如何工作的。

最佳答案

因此,您想过滤掉没有 $a[$sub_array["id"]] 的值存在,其中 $sub_array$b 的一个元素:

然后 array_filter() 是您搜索的内容:

$array = array_filter($b, function ($val) use ($a) {
    return isset($a[$val["id"]]);
});

关于php - 比较两个数组并从 PHP 中的数组中删除数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26023673/

相关文章:

javascript - Ajax 从 Laravel 接收对象集合

php - 带有 PHP 5.6 和 Composer 的 OpenSSL - 证书验证失败

jquery - 动态 CSS Sprite 注入(inject)

java - Java 中的递归冒泡排序

php - cURL无法完全模拟HTTP Post

java - 通过 Android 模拟器和 xampp 服务器连接到本地主机

php - WordPress Roots 主题摆脱所有页面的侧边栏

arrays - Ruby:如何找出 2 个数组之间的差异,顺序很重要

java - 如何使用serversocket发送位图

Javascript/HTML 如何通过 HTML 输入/文本框动态删除 javascript 数组的元素