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

Barbara Streisand
发布: 2024-11-25 09:34:10
原创
313 人浏览过

How Can I Remove Duplicate Sub-arrays from a Multi-Dimensional PHP Array?

从多维 PHP 数组中删除重复项

在 PHP 中,使用多维数组通常需要删除重复元素。这在处理大型数据集时特别有用,其中相同的值可能出现在多个子数组中。

考虑以下示例,其中我们有一个 2D 数组,其中子数组包含姓名、电子邮件和其他信息:

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
];
登录后复制

在此示例中,我们有一个具有相同电子邮件地址 ('john@example.com') 的重复条目。要删除重复的子数组,我们可以使用以下代码片段利用数组索引的唯一性:

$newArr = [];
foreach ($array as $val) {
    $newArr[$val['email']] = $val; 
}
$array = array_values($newArr);
登录后复制

通过迭代子数组并使用电子邮件地址作为新数组的键,我们用最后一个匹配的子数组覆盖任何重复的值。然后使用 array_values() 函数重置数组索引,从而得到一个去重数组:

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
];
登录后复制

该技术有效地根据指定键删除重复值,留下一个去重多维数组.

以上是如何从多维 PHP 数组中删除重复的子数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板