PHPで空の2次元配列を削除する方法

PHPz
リリース: 2023-04-19 10:43:56
オリジナル
608 人が閲覧しました

PHP プログラミングでは、空の 2 次元配列を削除する必要がある状況によく遭遇します。誰もがこの問題とその解決方法をよりよく理解できるように、この記事では、PHP で空の 2 次元配列を削除する方法とテクニックについて詳しく説明します。

  1. 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. 複雑な 2 次元配列を扱う場合、空の配列、つまり対応する 1 次元配列の状況に遭遇することがあります。配列内にキーと値のペアがありません。この状況はデータ処理では珍しいことではありませんが、この 2 次元配列に対して他の演算を実行しようとすると、空の配列が計算結果やプログラムの効率に影響を与える可能性があります。したがって、空の二次元配列を削除する必要があります。以下に、空の 2 次元配列を削除する 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 関数を使用して、元の配列から削除します。最後に結果を出力します。

概要
  1. PHP で 2 次元配列を使用することは非常に一般的な操作です。これらの複雑な配列を扱う場合、空の配列を避けるために空の配列を削除する必要がある場合があります。 . 計算に悪影響を及ぼします。この記事では、PHP で空の 2 次元配列を削除する方法として、array_filter 関数を使用する方法と foreach ループを使用する方法の 2 つを紹介します。どちらの方法にもメリットとデメリットがあります。実際のニーズに応じて、適切な方法を選択してください。 。この記事が皆さんのお役に立てば幸いです!

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート