ホームページ >バックエンド開発 >PHPチュートリアル >PHP の 2 次元配列から重複項目を削除する場合の注意事項 - PHP の 2 次元配列の他の処理 (並べ替え、変換、空白の削除など) と比較できます。

PHP の 2 次元配列から重複項目を削除する場合の注意事項 - PHP の 2 次元配列の他の処理 (並べ替え、変換、空白の削除など) と比較できます。

WBOY
WBOYオリジナル
2016-06-23 13:07:381008ブラウズ

PHP は 1 次元配列の重複を削除する array_unique 関数を提供しますが、実際のプロジェクト開発では、データベース選択からクエリされる配列は 2 次元であることがよくあります。重複を削除する独自の関数を定義します。

アイデア:


1. まず 2 次元配列のキー名を取得し、それを配列に保存します (keyname_Arr という名前であるとします)

2. 次に区切り文字として記号を使用します ( '-' など)、2 次元配列のキー値を文字列に結合して一時配列を生成します。

3. 次に、[array_unique() 関数] を使用して、生成された一時配列を比較し、

4. 次に、複製した配列を 2 次元配列に再構築します。

4 4 4 4 は、Foreach () で [Explode () 関数] を使用し、文字列を逆アセンブルします。 '-' 分割されたシンボル; 分割文字列によって形成された [新しい一時配列 tempnew] に向かって、foreach ($tempnew as $tempk =>$tempv) を使用します。 $tempk ] ] = tempv ;

6最後に、$output は重複を削除した後の 2 次元配列になります。


実際のコードを理解しましょう:

$keyname_Arr= array_keys(end($resource_arr));    //存储内层数组的键名<br /><br />//使用'-'作为分隔将数组拼接成字符串<br />foreach ($resource_arr as $v){<br />    $v = join("-",$v);<br />    $temp[] = $v;<br />}<br /><br />//去掉重复的字符串,也就是重复的一维数组<br />$temp = array_unique($temp);<br /><br />//再将拆开的数组重新组装<br />foreach ($temp as $k => $v)<br />{<br />    $tempnew = explode("-",$v);//拆分去重之后的字符串<br /><br />    foreach($tempnew as $tempkey => $tempval)<br />        $output[$k][$keyname_Arr[$tempkey]] = $tempval;<br />}

Cion 2016/05/03 の夜に記録されました

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