PHPの二次元配列から重複した値を削除する方法

PHPz
リリース: 2023-04-20 15:19:29
オリジナル
446 人が閲覧しました

PHP では、2 次元配列は非常に一般的なデータ構造です。ただし、2 次元配列内のデータを重複排除する必要がある場合、いくつかの問題が発生する可能性があります。

この記事では、PHP で 2 次元配列の重複を排除し、一意の値を保持する方法を紹介します。ループの使用と array_map() 関数の使用という 2 つの一般的な方法について説明します。

  1. ループの使用

ループを使用して 2 次元配列を走査し、重複する値を見つけて削除するのが最も直接的な方法です。サンプル コードは次のとおりです。

function unique_arr($array2D){
    foreach ($array2D as $k=>$v){
        $tem[$k] = serialize($v);
    }
    $tem = array_unique($tem); 
    foreach ($tem as $k=>$v){
        $array[$k] = unserialize($v);
    }
    return $array;
}
ログイン後にコピー

上記のコードでは、まず foreach ループを使用して 2 次元配列を走査し、配列をシリアル化し、一時配列 $tem に格納します。次に、array_unique() 関数を使用して、$tem 内の重複した値を削除します。最後に、再度 foreach ループを使用して逆シリアル化し、配列 $array に保存します。最終的に、この関数は重複しない 2 次元配列を返します。

  1. array_map() 関数の使用

PHP では、array_map() 関数を使用して、配列内の各要素に対してコールバック関数を実行できます。二次元配列から重複する値を削除することも、array_map() 関数を使用して簡単に行うことができます。コード例は次のとおりです。

function unique_arr($array2D){
    $serialize_array = array_map('serialize', $array2D);
    $unique_serialize_array = array_unique($serialize_array);
    $array = array_map('unserialize', $unique_serialize_array);
    return $array;
}
ログイン後にコピー

最初のメソッドと同様に、このコード例では、まず配列をシリアル化し、新しい配列 $serialize_array に格納します。次に、array_unique() 関数を使用して、$serialize_array 内の重複した値を削除します。最後に、array_map() 関数を使用してシリアル化された配列を逆シリアル化して $array に保存し、最終的に重複しない 2 次元配列を返します。

3. 概要

PHP では、2 次元配列から重複値を削除する一般的な方法が 2 つあります: ループを使用する方法と array_map() 関数を使用する方法です。どちらの方法でも機能を実現できますが、array_map() 関数を使用する方が、シンプルで理解しやすい性質があるため、読みやすく理解しやすいです。

つまり、2 次元配列を処理するときは、データをより効率的かつ便利に処理するために、配列に対するさまざまな操作に注意を払う必要があります。

以上がPHPの二次元配列から重複した値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!