1.可以直接用php的內建函式array_intersect()
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
array_intersect() 返回乙個陣列,該陣列包含了所有在 array1 中也同時出現在所有其它引數陣列中的值。注意鍵名保留不程式設計客棧變。
**:
複製** **如下:
<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
?>
輸出結www.cppcns.com果:
array( [a] => green [0] => red)
2.也可以自己寫乙個演算法:
複製** **如下:
<?php
function my_array_same($a)
$a = array("red", "green", "pink", "red", "yellow","pink", "red");
$r=my_array_same($a);
var_dump(array_unique($r));
?>
輸出結果:
array(2)
3.還可以這麼寫:
複製** **如下:
<?php
function my_array_intersect($arr1,$arr2)
for($i=0;$i$temp=$arr2[$i];
} sort($temp);
$get=array();
for($i=0;$iif($temp[$i]==$temp[$i+1])
$get=$temp[$i];
} return $get;
} $array1 = array("green", "red", "blue");
$array2 = array("green", "yellow", "red");
echo "";
print_r(my_array_intersect($array1, $array2));
echo "";
?>
如果是一維的陣列,第三種演算法比第一種快點.上述演算法都適用於一維的陣列,那麼多維陣列怎麼查詢相同的元素呢?
思路:可以把多維的陣列轉化成一維的陣列,然後再利用上述演算法輸出。
**:
複製** **如下:
function toarr($arr)
else
} return $str;
}/*遞迴函式結束*/
上式把多維陣列轉化成字串,然後利用expode函式轉化成一維陣列即可。
聯想一下,資料庫返回某一字段重名的值也是這個道理,當然通過sql語句也能夠實現。
本文標題: php輸出陣列中重名的元素的幾種處理方法
本文位址:
PHP輸出陣列中重名的元素的幾種方法
1.可以直接用php的內建函式array intersect array intersect 返回乙個陣列,該陣列包含了所有在 array1 中也同時出現在所有其它引數陣列中的值。注意鍵名保留不變。輸出結果 2.也可以自己寫乙個演算法 輸出結果 3.還可以這麼寫 如果是一維的陣列,第三種演算法比第一...
PHP 刪除陣列中的元素
方法一 unset 使用 unset 方法,不會改變其他的鍵 key 如果想對其他的鍵 key 重新整理排序,可以使用 array values 或array merge 進行重新排序。示例 array array 0 red 1 green 2 blue 3 yellow unset array ...
PHP 刪除陣列中的元素
php 刪除陣列中的元素有多種方式,以下列舉幾種常用的方式。如果你想刪除陣列中的乙個元素,你可以使用 unset 或 array splice 方法。如果你知道陣列元素的值 value 但不知道鍵 key 你可以使用 array search 來獲取鍵 key unset 方法 注意如果你使用 un...