PHP を使用して開発をしていると、配列を操作する必要が生じることがよくあります。配列は一般的なデータ構造であり、PHP でも広く使用されています。 2 次元配列は、要素も配列である特別なタイプの配列です。実際の開発では、2 次元配列内の null 値のペアを削除する必要がある場合があります。これを実現するには、いくつかの PHP 配列関数を使用する必要があります。
1. 2 次元配列とは
配列の要素も配列である場合、その配列は 2 次元配列です。 PHP では、2 次元配列は次の方法で定義できます。
$arr = array( array(1,2,3), array(4,5,6), array(7,8,9) );
上記のコードは、3 つの要素を含む 2 次元配列を作成します。各要素は 3 つの要素を含む 1 次元配列です。
2. 2 次元配列内の null 値ペアを削除する
実際の開発では、2 次元配列内の null 値ペアを削除する必要がある場合があります。いわゆる null 値ペアは、配列内のキーに対応する値が空の文字列、null、0、または値がないことを意味します。この目的を達成するには、PHP のさまざまな配列関数を使用できます。
array_filter 関数を使用して、配列内のすべての null 値ペアをフィルタリングできます。その最初のパラメータは、フィルタリングする必要がある配列です。 2 つのパラメータは、配列内の各要素をフィルタリングするために使用されるコールバック関数です。
function filterEmpty($arr) { foreach($arr as $key=>$value) { if(is_array($value)) { $arr[$key] = filterEmpty($value); } } return array_filter($arr); } $arr = array( array(1,'',3), array(4,5,''), array(0,8,null) ); $arr = filterEmpty($arr); var_dump($arr);
上記のコードは、2 次元配列内の null 値のペアをフィルターする filterEmpty 関数を定義します。これは、再帰関数を使用して、配列内の各要素を走査します。要素自体が配列の場合、filterEmpty 関数は、それ自体が continue として呼び出され、トラバースを実行します。次に、array_filter 関数を使用して各要素をフィルタリングし、NULL 値のペアを含まない配列を取得します。
array_walk 関数は、配列内の各要素を反復し、それに対して特定の操作を実行できます。各要素を判定して null 値のペアを削除するコールバック関数を定義できます。
function walkEmpty(&$value, $key) { if(is_array($value)) { $value = array_filter($value); } if(empty($value)) { unset($value); } } $arr = array( array(1,'',3), array(4,5,''), array(0,8,null) ); array_walk($arr, 'walkEmpty'); var_dump($arr);
上記のコードでは、コールバック関数として walkEmpty 関数を定義し、array_walk 関数を使用して $arr 配列の各要素を走査して判定しています。要素が配列の場合は、まず array_filter 関数を使用して、配列内の null 値のペアをフィルターします。次に要素が空かどうかを確認し、空の場合はunset関数を使って配列から要素を削除します。
foreach ループを使用して配列を走査し、各要素を判断することもできます。
function deleteEmpty($arr) { foreach($arr as $key=>$value) { if(is_array($value)) { $arr[$key] = deleteEmpty($value); } if(empty($value)) { unset($arr[$key]); } } return $arr; } $arr = array( array(1,'',3), array(4,5,''), array(0,8,null) ); $arr = deleteEmpty($arr); var_dump($arr);
上記のコードは、foreach ループを使用して $arr 配列内の各要素を走査し、判断する deleteEmpty 関数を定義しています。要素が配列の場合は、deleteEmpty 関数自体を呼び出して走査を続行します。次に要素が空かどうかを確認し、空の場合はunset関数を使って配列から要素を削除します。
3. 概要
2 次元配列は、PHP 開発でよく使用される一般的なデータ構造です。 2 次元配列の null 値ペアを削除することも一般的な操作です。上記の記事では、array_filter 関数、array_walk 関数、および配列を走査する foreach ループを使用する 3 つの実装方法を紹介しています。特定のニーズに基づいて、自分に合った方法を選択できます。
以上がPHPで2次元配列内のNULL値ペアを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。