PHP プログラミングでは、空の 2 次元配列を削除する必要がある状況によく遭遇します。誰もがこの問題とその解決方法をよりよく理解できるように、この記事では、PHP で空の 2 次元配列を削除する方法とテクニックについて詳しく説明します。
空の 2 次元配列を削除する方法について説明する前に、まず 2 次元配列とは何かを理解する必要があります。簡単に言えば、2 次元配列は複数の 1 次元配列で構成される配列です。各 1 次元配列はデータの特定のコレクションを表し、2 次元配列はこれら 1 次元配列を結合します。
たとえば、次の 2 次元配列 $employee には、3 つの 1 次元配列が含まれています。各 1 次元配列には、従業員に関する情報が格納されます。次元配列 、各 1 次元配列は 3 つの要素を含む配列であり、「名前」、「年齢」、「給与」がキー名、25、28、24、6000、8000、5000 がキー値です。この 2 次元配列を走査して、各従業員の給与の出力などの操作を実行する必要がある場合は、次の方法で実行できます。
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => 'Jack', 'age' => 28, 'salary' => 8000), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) );
ここの foreach ステートメントは、$employee 全体を走査します。 array and add each 変数 $emp に 1 次元配列を代入し、ループ本体に各従業員の給与を出力します。
空の 2 次元配列の削除方法 1: array_filter 関数を使用する
array_filter 関数は、PHP で一般的に使用される配列関数の 1 つです。配列内の要素をフィルタリングします。要素は、指定されたルールを満たす要素のみを保持します。 array_filter 関数を使用して、2 次元配列内の空の配列を削除できます。具体的には、array_filter の最初のパラメータとして匿名関数を使用し、この関数を配列内の各要素に適用して、要素を保持するかどうかを決定します。
たとえば、次の例は、array_filter 関数を使用して空の 2 次元配列を削除する例です。
foreach($employee as $emp) { echo "The salary of ".$emp['name']." is ".$emp['salary']."<br>"; }
この例では、$employee という名前の 2 次元配列を定義します。 3 つの 1 次元配列が含まれています。 2 番目の 1D 配列は空なので、削除する必要があります。 array_filter 関数を使用する場合、最初のパラメータとして匿名関数を渡します。この無名関数では、各 1 次元配列に対して array_filter 関数を実行して、空の要素を削除します。次に、1次元配列に要素が残っているかどうかを比較し、要素があればtrueを返し、要素がなければfalseを返します。最後に、array_filter 関数は、この匿名関数の戻り値に基づいて空の配列をフィルターで除外し、空ではない配列を返します。
方法 2: foreach ループを使用する
array_filter 関数を使用することに加えて、foreach ループを使用して 2 次元配列内の空の配列を削除することもできます。具体的には、2次元配列全体を走査して1次元配列ごとに判定を行い、この1次元配列の要素数が0であれば削除します。
たとえば、次の例は、foreach ループを使用して空の 2 次元配列を削除する例です:
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => '', 'age' => '', 'salary' => ''), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) ); $result = array_filter($employee, function($emp) { return count(array_filter($emp)) > 0; }); print_r($result);
この例では、2 次元配列 $employee も定義します。 3 つの 1 次元配列が含まれています。 foreach ループを使用して、この 2 次元配列を走査し、各 1 次元配列に対して判定操作を実行します。 array_filter 関数を使用して空の要素をフィルタリングし、フィルタリングされた要素の数を取得します。要素の数が 0 の場合は、1 次元配列が空であるため、削除する必要があることを意味します。 unset 関数を使用して、元の配列から削除します。最後に結果を出力します。
概要以上がPHPで空の2次元配列を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。