一、這個沒有被合并,只是取的后面這個鍵名的值,
創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比歷下網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式歷下網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋歷下地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
二、$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");
$result
=
array_unique
($input);
print_r($result);
輸出的結果:Array
(
[11]
=
aaada
[22]
=
bbbb
[33]
=
cccc
[44]
=
cccc1
)
鍵名33
和
55
的值完全一樣的時候,后者會被干掉
如果你要的是鍵名和值完全一致的時候才刪除一個的話,似乎不能,因為鍵名是不允許重復的
聽你的情況似乎數據量很大,建議你使用
array_flip()函數
【php中,刪除數組中重復元素有一個可用的函數,那就是array_unique(),
但是它并不是一個最高效的方法,使用array_flip()函數將比array_uniqure()在速度上高出五倍左右?!?/p>
例子:$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");
$arr1
=
array_flip(array_flip($input));
print_r($arr1);
輸出的結果:Array
(
[11]
=
aaada
[22]
=
bbbb
[55]
=
cccc
[44]
=
cccc1
)
$tmp=array();
$s=array();//你的數組
foreach($s?as?$k=$v){
if(in_array($v['name'],$tmp)){
unset($s[$k]);
}
$tmp[]=$v['name'];
}
var_dump($s);
array_unique() 函數移除數組中的重復的值,并返回結果數組。
當幾個數組元素的值相等時,只保留第一個元素,其他的元素被刪除。
返回的數組中鍵名不變。
array_unique() 先將值作為字符串排序,然后對每個值只保留第一個遇到的鍵名,接著忽略所有后面的鍵名。這并不意味著在未排序的 array 中同一個值的第一個出現的鍵名會被保留。