ホームページ  >  記事  >  バックエンド開発  >  Array PHP の 2 次元配列重複排除問題の分析

Array PHP の 2 次元配列重複排除問題の分析

WBOY
WBOYオリジナル
2016-07-29 08:46:14957ブラウズ

以前、配列の重複排除に関する記事を書きましたが、それは 1 次元配列に限定されていました。次の関数は 2 次元配列に使用できます:

コードをコピーします コードは次のとおりです:


//2 次元配列から重複する値を削除します
function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = join(",",$v); //次元を削減するために、implode を使用して 1 次元配列を次のように接続された文字列に変換することもできます。 commas
$temp[] = $v;
$temp = array_unique($temp); //繰り返しの文字列、つまり繰り返しの 1 次元配列を削除します
foreach ($temp as $k => $v)
{
$temp[$k] =explode( ",",$v); // 逆アセンブルした配列を再構築します
}
return $temp;


配列のキー値を保持したい場合は、次の関数を使用できます:



コードをコピー コードは次のとおりです:

//二次元配列は重複した値を削除し、キー値を保持します

function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = join(",",$v); //次元削減のために、implode を使用して 1 次元配列を接続された文字列に変換することもできますカンマ付き
$temp[$k] = $v;
}
$temp = array_unique ($temp); // 重複する文字列、つまり重複する 1 次元配列を削除します
foreach ($temp as $k => $v)
{
$array=explode(",",$v); // 逆アセンブルされた配列を再アセンブル
$temp2[$k]["id"] =$array[$k]; ]["litpic"] =$array[1];
$ temp2[$k]["タイトル"] =$array[2];
$temp2[$k]["アドレス"] =$array[3] ;
$temp2[$k]["開始時間"] =$ 配列[4];
$temp2[$k]["クラスID"; ] =$array[6];
$temp2[$k] ["ename"] =$array[7];
return $temp2;


以上です。
2次元配列の重複排除


コードをコピー

コードは次のとおりです:

$arr = array( array('id' => 1,'name' => 'aaa' ), array('id' => 2,'name' => 'bbb'),

array('id' => 3,'name' => 'ccc'),

array(' id' => 4,'name' => 'ddd'),
array('id' => 5,'name' => 'ccc'),
array('id' = > 6 ,'名前' => 'aaa'),
array('id' => 'bbb'),
関数 assoc_unique(&$arr, $key )
{
$rAr=array();
for($i=0;$i{
if(!isset($rAr[$arr[$i][$ key]] ))
{
$rAr[$arr[$i][$key]]=$arr[$i]
}
}
$arr=array_values($rAr)
}
assoc_unique(& $arr, '名前');
print_r($arr)>
以上、PHP における 2 次元配列の配列重複排除の分析を、配列の側面も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。