前回の記事では、1 次元配列を分割し、指定された数の要素を含む 2 次元配列に分割する方法について学びました。読むリンク→「PHP配列学習 1次元配列を指定した要素数を含む2次元配列に変換する」。今回はPHP配列の学習と実践、そして配列の空や重複を削除する方法についてお話します。
#→関連する推奨事項: PHP 配列学習シリーズのまとめ (随時更新~)>>
今日の記事の主な内容は、配列の空の要素と繰り返しの要素。 まず見てみましょう配列内の空の要素を削除するにはどうすればよいですか? ここでは2つの方法を紹介します。
方法 1、foreach ループ empty() unset()
実装アイデア:foreach($array as $key => $value){ }
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql"); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
出力結果:
説明: PHP では、empty() 関数を使用して、変数が空であるとみなされるかどうかを確認します。
empty() は、変数が次の値と等しい場合にその変数が空であるとみなします:
""(空の文字列)
メソッド2. 使用 array_filter() 関数はフィルタリングを実行します。- 0 (整数としての 0)
- 0.0 (浮動小数点数としての 0)
- ## 「0 」(文字列としての 0)
- NULL
- FALSE
- Array()(空の配列)
- $var (宣言されていますが、値を持つ変数はありません)
array_filter() 関数は、コールバック関数を使用して配列内の要素をフィルタリングできます。この関数は配列内の各値を反復処理し、それらの値をユーザー定義関数またはコールバック関数に渡します。 コールバック関数を省略した場合、デフォルトで null 値がフィルタリングされます。
(array_filter() 関数は元の配列を変更しません)<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
array_filter() がフィルタリングしていることがわかります配列要素のインデックスはリセットされません。空の要素を削除した後も、元のインデックスの順序が維持されます。
では、インデックスをリセットして 0 から並べ替えたい場合は、どうすればよいでしょうか?array_values()
関数を使用できます。var_dump(array_values($filtered_array));
とても簡単ですね!
上で空の要素を削除する方法を学びました。重複した配列要素を削除する方法
を見てみましょう。PHP 配列内の重複した配列を削除するために、他の方法に頼る必要はありません。PHP には、この操作を実現するための組み込み関数があります。この関数が何であるかご存知ですか?
わかりました。もう大騒ぎする必要はありません。これはarray_unique()
関数です。配列内に同じ値が 2 つ以上ある場合、array_unique() 関数は最初の値のみを保持し、他の値は削除されます。<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文网",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
出力結果:
array_unique() 関数はキー名 (インデックス) をリセットせず、保持される配列は最初の配列のままになります。アイテムの種類。したがって、array_unique() 関数を使用して重複要素を削除した後、array_values() 関数を使用してインデックスをリセットできます。
var_dump(array_values($result));
実際、配列内に重複するキー名がないという機能を利用して、重複する配列要素を削除することもできます。
実装アイデア: まずキー名とキー値を交換して重複値を削除し、次にキー名とキー値を再度交換します (「PHP 配列の学習: キー名の変更方法」を読むことをお勧めします)キーと値の位置が入れ替わります
》)。キー コード:array_flip(array_flip($array))
最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。PHP 関数 配列 配列関数のビデオ説明
、ぜひ学んでください。以上がPHP 配列から空白要素または重複要素を削除する方法を学習します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。