[英]Php array unique comparing 2 types
我有來自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進行驗證,我嘗試了array_unique
,但是我只能使用1種類型,
$arrayCon[$i]=array("message"=>$message, "number"=>$number);
$realArray=array_unique($arrayCon["number"]);
如何在1個數組中比較2個類型?
您需要在數組本身上應用array_unique()
,並指定SORT_REGULAR
標志以比較每個元素:
$realArray = array_unique($arrayCon, SORT_REGULAR)
您可以利用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));
在線演示
(我現在在代理后面,似乎與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
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.