PHP では、配列は、順序付けされたデータのセットを格納できる一般的なデータ構造の 1 つです。実際のアプリケーションでは、配列内の null 値をクリアする必要がある状況によく遭遇します。この記事では、空の配列をクリアするいくつかの方法を紹介します。
方法 1: array_filter() を使用する
PHP には組み込み関数 array_filter() が用意されており、空の値 (null、null、 false、"" 、0、"0"、[] など)。この関数の使用法は次のとおりです:
$array = array("a", "", "b", null, false, 0, "0", []); $result = array_filter($array); print_r($result);
結果は次のとおりです:
Array ( [0] => a [2] => b )
上の例では、まず配列 $array
を定義します。 NULL 値。次に、array_filter()
関数を使用して配列をフィルタリングし、フィルタリングされた結果を $result
変数に保存して、出力します。ご覧のとおり、すべての null 値がフィルターで除外され、null 以外の値のみが保持されます。
方法 2: foreach ループを使用する
組み込み関数 array_filter()
を使用することに加えて、ループ ステートメントを使用して null 値をクリアすることもできます。配列内で。
$array = array("a", "", "b", null, false, 0, "0", []); foreach ($array as $key => $value) { if (empty($value)) { unset($array[$key]); } } print_r($array);
上の例では、foreach ループを使用して配列を走査し、各要素が空かどうかを確認します。空の場合は、unset() 関数を使用して要素を削除します。要素。最後に、削除後の配列を出力します。出力は上記と同じです。
注意すべき点は、ループ中に unset() 関数を使用して null 値を削除することです。これにより、配列内の要素のキー名が変更される可能性があります。元のキー名を保持する必要がある場合は、削除操作後に array_values() 関数を使用して配列のインデックスをリセットする必要があります。
方法 3: カスタム関数
もう 1 つの一般的な方法は、配列内の null 値をクリアするカスタム関数を定義することです。実装コードは次のとおりです。
function clean_array($arr) { foreach ($arr as $key => $value) { if (is_array($value)) { $arr[$key] = clean_array($value); } else { if (empty($value)) { unset($arr[$key]); } } } return $arr; } $array = array("a", "", "b", null, false, 0, "0", []); $result = clean_array($array); print_r($result);
上記のコードでは、再帰的メソッドを使用して配列要素を走査し、各要素が空かどうかを判断する clean_array()
関数を定義します。空の場合は、unset() 関数を使用して要素を削除します。要素が配列の場合、関数は再帰的に呼び出され、null 値のクリアを続けます。最後に削除後の配列を返します。
概要
この記事では、空の配列をクリアする一般的な方法をいくつか紹介します。最も一般的な方法は、すべての null 値を一度に除外できる PHP 組み込み関数 array_filter()
を使用する方法です。さらに、foreach ループ ステートメントを使用して配列を走査し、各要素が空かどうかを確認し、unset() 関数を使用して空の値を削除することもできます。最後に、空の値をクリアするカスタム関数を定義することもできます。この関数は、再帰的メソッドを使用して配列要素を走査し、各要素が空かどうかを判断し、その後 unset() 関数を使用して要素を削除します。最後に、空の配列をクリアするという目的が達成されます。
以上がPHPで空の配列をクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。