我有一个数组,每个索引号有四列(除以“;”)。数据来自csv文件。
示例数据:
John = Firstname
Doe = Lastname
Playground = Description
john.doe@example.com = Email
print_r($dataArray);
Array
(
[0] => John;Doe;Playground;john.doe@example.com
[1] => John;Doe;Playground test;john.doe@example.com
[2] => John;Doe;test Playground;john.doe@example.com
[3] => Johnny;Dawson;Test Area;john.doe@example.com
)
现在我想删除array_unique
的重复项。
但我只想比较“firstname”和“lastname”。
如果firstname和lastname有多个结果,则删除重复的条目。
在这种情况下[1]和[2]
$finalArray = array_unique($dataArray);
数组唯一仅在所有行具有相同数据时才有效。
[0] => John;Doe;Playground;john.doe@example.com
[1] => John;Doe;Playground;john.doe@example.com
目标:最终结果
Array
(
[0] => John;Doe;Playground;john.doe@example.com
[1] => Johnny;Dawson;Test Area;john.doe@example.com
)
处理这种情况的好方法是什么?
答案 0 :(得分:2)
$a
将是独一无二的。注意保持不变的数组键。
foreach($a as $k=>$v)
{
list($name,$family) = explode(';', $v);
if( isset($temp[$name.$family]) )
unset($a[$k]);
else
$temp[$name.$fam] = true;
}