1樓:灰哥哥僒巈駥媎
php陣列去除重複項有個內建函式array_unique(),但是php的array_unique函式只適用於一維陣列,對多維陣列並不適用,以下提供一個二維陣列的array_unique函式。
function array_unique_fb($array2d)
$temp = array_unique($temp); //去掉重複的字串,也就是重複的一維陣列
foreach ($temp as $k => $v)return $temp;}
如果你想保留陣列的鍵值,可以用下面的函式:
//二維陣列去掉重複值 並保留鍵值
function array_unique_fb($array2d)$temp = array_unique($temp); //去掉重複的字串,也就是重複的一維陣列
foreach ($temp as $k => $v){$array=explode(",",$v); //再將拆開的陣列重新組裝
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
大概就這樣啦。
2樓:匿名使用者
方法一:
function array_unique_fb($array2d)$temp=array_unique($temp); //去掉重複的字串,也就是重複的一維陣列
foreach ($temp as $k => $v)return $temp;
}方法二:
//二維陣列去掉重複值,並保留鍵值
function array_unique_fb($array2d)$temp=array_unique($temp); //去掉重複的字串,也就是重複的一維陣列
foreach ($temp as $k => $v)return $temp2;}
php如何去掉二維陣列中重複的元素?
3樓:匿名使用者
php陣列
抄去除重複項有個內建函式array_unique(),但是php的array_unique函式只適用於一維陣列,對多維陣列並不適用,不過你可以在二維陣列中的值,用array_unique()即可。
比如:$array = array(array(1,1,2),array(2,3,4,3));
$temp_array = array();
foreach($array as $key=>$value)$array = $temp_array;
4樓:匿名使用者
function remove_duplicate($array)
}return $result;
}$arr=array("1"=>array("a","b "),"2"=>array("a","c"),"3"=>array("a","b"));$arr=remove_duplicate($arr);print_r($arr);
5樓:怕孤單又已習慣
array_unique($arr,sort_regular)
php根據某一鍵值去除二維陣列中重複值
6樓:
簡單處理一下,只保留較新的登入時間。而且無重複。
<?php
$a=array(
array(
"role_id"=>"48357" ,
"login_time"=>"2011-08-14 00:02:26"
),array(
"role_id"=>"48357" ,
"login_time" => "2011-08-14 00:01:51"
),array(
"role_id"=> "48356",
"login_time"=> "2011-08-14 00:02:25"
),array(
"role_id"=> "48358",
"login_time"=> "2011-08-14 00:02:45"
),array(
"role_id"=> "48365",
"login_time"=> "2011-08-14 00:05:52"
),array(
"role_id"=> "48369" ,
"login_time"=> "2011-08-14 00:06:40"
),array(
"role_id"=> "48372",
"login_time"=> "2011-08-14 00:08:36"
),array(
"role_id"=> "48368",
"login_time"=> "2011-08-14 00:06:43"
),array(
"role_id"=> "48380" ,
"login_time"=> "2011-08-14 00:10:15"
),array(
"role_id"=> "48377" ,
"login_time"=> "2011-08-14 00:09:48"
),array(
"role_id"=> "48366" ,
"login_time"=> "2011-08-14 00:07:08"));
$b=array();
foreach($a as $e)
$b=array_values($b);
var_dump($b);
**********===
顯示array
0 =>
array
'role_id' => string '48357' (length=5)
'login_time' => string '2011-08-14 00:02:26' (length=19)
1 =>
array
'role_id' => string '48356' (length=5)
'login_time' => string '2011-08-14 00:02:25' (length=19)
2 =>
array
'role_id' => string '48358' (length=5)
'login_time' => string '2011-08-14 00:02:45' (length=19)
3 =>
array
'role_id' => string '48365' (length=5)
'login_time' => string '2011-08-14 00:05:52' (length=19)
4 =>
array
'role_id' => string '48369' (length=5)
'login_time' => string '2011-08-14 00:06:40' (length=19)
5 =>
array
'role_id' => string '48372' (length=5)
'login_time' => string '2011-08-14 00:08:36' (length=19)
6 =>
array
'role_id' => string '48368' (length=5)
'login_time' => string '2011-08-14 00:06:43' (length=19)
7 =>
array
'role_id' => string '48380' (length=5)
'login_time' => string '2011-08-14 00:10:15' (length=19)
8 =>
array
'role_id' => string '48377' (length=5)
'login_time' => string '2011-08-14 00:09:48' (length=19)
9 =>
array
'role_id' => string '48366' (length=5)
'login_time' => string '2011-08-14 00:07:08' (length=19)
7樓:笑一路
不知道這個陣列裡元素多不多。如果不考慮效能的話,需要迴圈。
另外建個陣列,存唯一的role_id。
8樓:匿名使用者
效能肯定高不了.就算是php內建的函式,處理方法也都差不多.
如果是資料庫呢.可能稍微好一點.
9樓:匿名使用者
2樓的意思是把資料放到資料庫裡,然後group by role_id,根據你的需求然後count$query.
php中如何合併幾個二維陣列成為二維陣列
宇宙大師之一 php 中的 array merge recursive 函式可以實現 將一個或多個陣列的元素的合併起來,一個陣列中的值附加在前一個陣列的後面。並返回作為結果的陣列。當有重複的鍵名時,值不會被覆蓋,而是將多個相同鍵名的值遞迴組成一個陣列。array merge recursive ar...
php 二維陣列賦值定義,php怎樣定義二維陣列?
arr array array id 1,xuefei 50萬以下 array id 2,xuefei 51萬 60萬 xuefei array array id 1,xuefei 50萬以下 array id 2,xuefei 50萬 60萬 array id 3,xuefei 60萬 70萬 a...
php 怎麼在二維陣列中檢視值是否存在
php 二維陣列驗證一個值是否存在,參考 如下 arr array array a b array c d in array a arr 此時返回的永遠都是 false deep in array a arr 此時返回 true 值 function deep in array value,arra...