PHP二維陣列實現去除重複項的方法 保留各個鍵值

2022-10-03 16:21:06 字數 2798 閱讀 9482

對於如下二維陣列,要求對其進行去重:

$arr = array(

'0'=>array(

'name'=>www.cppcns.com;'james',

'age'=>30,

),'1'=>array(

'name'=>'susu',

'age'=>26,

),'2'=>array(

'name'=>'james',

'age'=>30,

),'new'=>array(

'name'=>'kube',

'age'=>37,

),'list'=>array(

'name'=>'kube',

'age'=>27,

),);

1、 二維陣列內部的一維陣列中的值不能完全相同,刪除其中重複的項:

**如下:

<?php $arr = array(

'0'=>array(

'name'=>'james',

'age'=>30,

),'1'=>array(

'name'=>'susu',

'age'=>26,

),'2'=>array(

'name'=>'james',

'age'=>30,

),'new'=>array(

'name'=>'kube',

'age'=>37,

),'list'=>array(

'name'=>'kube',

'age'=>27,

),);

printf("before tranform the array:

"); //輸出原來的陣列

print_r($arr);

echo "

";function more_arr

foreach ($arras $k => $v)

printf("afte程式設計客棧r split the array:

"); print_r($temp); //輸出拆分後的陣列

echo"

"; $temp =array_unique($temp); //去重:去掉重複的字串

foreach ($tempas $k => $v)

//ksort($arr_after);//排序如需要:ksort對陣列進行排序(保留原鍵值key) ,sort為不保留key值

return$arr_after;

}$arr_new = more_array_unique($arr); //呼叫去重函式

printf("duplicate removal of the array:

");print_r($arr_new);

echo "

";?>

輸出結果:

before tranform the array: //原來陣列

array ( [0] => array ( [name] => james [a程式設計客棧ge] => 30 ) [1] => array ([name] => susu [age] => 26 ) [2] => array ( [name] => james [age]=> 30 ) [new] => array ( [name] => kube [age] => 37 ) [list] =>array ( [name] => kube [age] => 27 ) )

after split the array: //拆分後陣列

array ( [0] => james,30 [1] => susu,26 [2] => james,30 [new] =>kube,37 [list] => kube,27 )

duplicate removal of thearray: //去重後陣列

array ( [0] => array ( [name] => james [age] => 30 ) [1] => array ([name] => susu [age] => 26 ) [new] => array ( [name] => kube [age]=> 37 ) [list] => array ( [name] => kube [age] => 27 ) )

2、 二維陣列內部的一維陣列因某乙個鍵值不能相同,刪除重複項:

針對某乙個鍵值來進行去重

<?php $arr= array(……); //同上的二維陣列

functionsecond_array_unique_bykey($arr, $key)

else

} www.cppcns.com //ksort($arr); //ksort函式對陣列進行排序(保留原鍵值key) sort為不保留key值

return $arr;

} $key ='name';

$arr_key = second_array_unique_bykey($arr,$key);

printf("as for the givenkey->%s:

",$key);

print_r($arr_key);

echo "

";?>

輸出結果:

as for the given key->name:

array ( [0] => array ( [name] => james [age] => 30 ) [1] => array ([name] => susu [age] => 26 ) [new] => array ( [name] => kube [age]=> 37 ) )

ps:本站還有兩款比較簡單實用的**文字去重複工具,推薦給大家使用:

**去除重複項工具:

**文字去重複工具:

PHP一維 二維陣列去除重複

生活也許就是按照自己的節奏生活,不用在意他人的眼光。木木 題記 php陣列去除重複項有個內建函式array unique 但是php的array unique函式只適用於一維陣列,對多維陣列並不適用,以下提供乙個二維陣列的array unique函式。二維陣列去掉重複值 function array...

PHP 去除二維陣列重複值

public function remove duplicate data if res return arr 插入入二位陣列。根據每個陣列中的id然後剔除每個陣列中的重複陣列 未處理前的陣列 array 0 array id 67 pid 69 name admin authgroup getau...

PHP二維陣列 去除指定列含有重複項的陣列

arr array 0 array 張三 2,3,4 1 array 李四 2,3,4 2 array 張三 2,4,3 去除第一列含有 張三 的重複項陣列 源 header content type text html charset utf 8 去除指定列含有重複項的陣列 arr array 0...