我有一个Name@Phone\n
形式的文本文件。我将数据放入一个explode()
的数组中。如何仅删除基于电话的重复行(值)?我想避免
Eddie@999-999-999
Ed@999-999-999
我希望在电话的基础上做到这一点。
答案 0 :(得分:4)
<?php
$result = array();
foreach($dataset as $input):
$parts = explode('@', $input);
$result[$parts[1]] = $parts[0];
endforeach;
$result = array_flip($result);
答案 1 :(得分:2)
如果您不关心名称并且只想要一个唯一数字列表,您可以替换列表中不是数字或破折号的所有字符,然后执行array_unique():
$arr = array(
'Eddie@999-999-999',
'Ed@999-999-999'
);
$arr = preg_replace('/[^\d\-]/', '', $arr);
$arr = array_unique($arr);
print_r($arr);
如果你知道这些数字总是采用那种格式(名字@号),那么来自@Kenaniah的回复效果很好。
答案 2 :(得分:1)
使用:
$result = array();
foreach($arrayData as $data){
$uniqueKey = strstr($data, '@');//@999-999-999
$result[$uniqueKey] = $data;
}
var_dump( $result );