PHP輸出陣列中重名的元素的幾種處理方法

2022-10-06 13:30:22 字數 1599 閱讀 5784

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...