我有来自excel的数据(超过10000),数据格式如下,
示例:
Message | Number
Test 1 021
Test 2 033
Test 3 022
Test 3 022
Test 3 033
Test 2 022
Test 2 021
接受的输入应为
same number & different message
different number & same message
different number & different message
我尝试使用数组进行验证,我尝试了array_unique
,但我只能使用1种类型,
$arrayCon[$i]=array("message"=>$message, "number"=>$number);
$realArray=array_unique($arrayCon["number"]);
如何在1个阵列中比较2种类型?
答案 0 :(得分:1)
您需要在数组本身上应用array_unique()
,指定SORT_REGULAR
标志来比较每个元素:
$realArray = array_unique($arrayCon, SORT_REGULAR)
答案 1 :(得分:0)
您可以利用JSON,从而使数据行成为字符串,因此array_unique
可用:
$source=array();
foreach($database as $row)
{
$source[]=json_encode(array("message"=>$row[0],"number"=>$row[1]));
}
$unique=array_map(function($str){
return json_decode($str,true);
},array_unique($source));
Online demo
(我现在支持代理,似乎搞乱了3v4l.org的结果输出。如果你看不到结果,请告诉我)
print_r
:
Array
(
[0] => Array
(
[message] => Test 1
[number] => 021
)
[1] => Array
(
[message] => Test 2
[number] => 033
)
[2] => Array
(
[message] => Test 3
[number] => 022
)
[4] => Array
(
[message] => Test 3
[number] => 033
)
[5] => Array
(
[message] => Test 2
[number] => 022
)
[6] => Array
(
[message] => Test 2
[number] => 021
)
)