array_unique()
を使用して、phpの単一の多次元配列から重複するエントリを削除できます。多次元配列で使用することはできますか?それは私のために働いていません!
配列は次のようになります
Array (
[0] => Array ( [0] => 1001 [1] => john [2] => example )
[1] => Array ( [0] => 1002 [1] => test [2] => dreamz )
[2] => Array ( [0] => 1001 [1] => john [2] => example )
[3] => Array ( [0] => 1001 [1] => example [2] => john )
[4] => Array ( [0] => 1001 [1] => john [2] => example )
)
誰でも私を助けてください...
array_unique ページに対するユーザーのコメントは、これにいくらかの光を当てています。あなたはおそらくそれらのコメントの中にいくつかの隠された宝石を見つけるでしょう-それは非常に便利なドキュメントです。
簡単なブラウザで、多次元配列から重複を削除するために次のことが明らかになりました。
<?php
function super_unique($array)
{
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
foreach ($result as $key => $value)
{
if ( is_array($value) )
{
$result[$key] = super_unique($value);
}
}
return $result;
}
?>
サブ配列を(serialize()
を介して)新しい配列にシリアル化し、その上でarray_unique()
を実行して、結果の配列のセットをシリアル化解除することができます。