从多维 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中文网其他相关文章!