PHP 開発では、空の配列を削除する必要がある状況によく遭遇します。空の配列はシステム リソースを占有し、プログラムが複雑になり、ランニング コストが増加するためです。したがって、空の配列を正しく削除することは、PHP 開発にとって非常に重要です。
PHP で空の配列を削除するいくつかの方法を紹介しましょう。
方法 1: array_filter 関数を使用する
PHP には、空の配列を簡単に削除できる array_filter 関数が用意されています。
array_filter 関数の基本的な構文は次のとおりです。
array array_filter ( array $array [, callable $callback [, int $flag ]] )
このうち、$array は入力配列、$callback はコールバック関数を指定するオプションのパラメーター、$flag は追加のロゴを指定するオプションのパラメーター。コールバック関数は、配列の各要素を保持するかどうかを決定するためにブール値を返す必要があります。
次の例は、array_filter 関数を使用して空の配列を削除する方法を示しています。
$data = array('foo', false, -1, null, 0, '', 'bar'); $result = array_filter($data, function($item) { return !empty($item); }); print_r($result);
上記のコードの出力は次のとおりです。
array ( 0 => 'foo', 2 => -1, 6 => 'bar', )
array_filter 関数とコールバックを使用する関数を使用すると、配列内の null 値を削除し、有効な値のみを保持できます。
方法 2: foreach ループを使用する
array_filter 関数を使用したくない場合は、foreach ループを使用して空の配列を削除することもできます。実際、原理も非常に単純で、配列の各要素を走査し、その要素が空かどうかを判断し、有効な値を新しい配列に保存します。
次の例は、foreach ループを使用して空の配列を削除する方法を示しています。
$data = array('foo', false, -1, null, 0, '', 'bar'); $result = array(); foreach ($data as $item) { if (!empty($item)) { $result[] = $item; } } print_r($result);
上記のコードの出力は次のとおりです。
array ( 0 => 'foo', 2 => -1, 6 => 'bar', )
foreach ループを使用して判断する条件を指定すると、配列内の null 値を削除し、有効な値のみを保持し、array_filter 関数と同じ結果を得ることができます。
方法 3: array_reduce 関数を使用する
array_filter ループと foreach ループに加えて、PHP は配列内のすべての値を計算するための array_reduce 関数も提供します。 array_reduce 関数を使用して空の配列を削除できます。
array_reduce 関数の基本的な構文は次のとおりです。
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
このうち、$array は処理する必要のある配列、$callback はコールバック関数、$initial は処理する必要がある配列です。オプションのパラメータ。コールバック関数の初期値を指定します。
次の例は、array_reduce 関数を使用して空の配列を削除する方法を示しています。
$data = array('foo', false, -1, null, 0, '', 'bar'); $result = array_reduce($data, function($accumulator, $item) { if (!empty($item)) { $accumulator[] = $item; } return $accumulator; }, array()); print_r($result);
上記のコードの出力は次のとおりです。
array ( 0 => 'foo', 1 => -1, 2 => 'bar', )
array_reduce 関数とコールバックを使用する関数を使用すると、配列内の null 値を削除し、有効な値のみを保持できます。
方法 4: array_diff 関数を使用する
array_diff 関数は、PHP のもう 1 つの配列処理関数で、ある配列にはあるが他の配列には含まれていない値を返す機能があります。
次の例は、array_diff 関数を使用して空の配列を削除する方法を示しています。
$data = array('foo', false, -1, null, 0, '', 'bar'); $result = array_diff($data, array(null, '', false, 0)); print_r($result);
上記のコードの出力は次のとおりです。
array ( 0 => 'foo', 2 => -1, 6 => 'bar', )
array_diff 関数を使用すると、で配列の NULL 値を削除できます。有効な値のみが保持されます。 array_diff 関数の 2 番目のパラメーターとして渡される配列には、考えられるすべての null 値が含まれている必要があることに注意してください。
結論
上記の方法により、PHP 配列の null 値を簡単に削除し、有効な値のみを保持することができます。実際の開発では、実際の状況に応じてどの方法を使用するかを選択する必要があります。 Null 値を削除するだけの場合は、array_filter 関数または foreach ループを使用することをお勧めします。配列内の他の値を計算する必要がある場合は、array_reduce 関数の使用を検討してください。同時に、array_diff 関数を使用する場合は、2 番目のパラメーターに考えられるすべての null 値を含める必要があることに注意する必要があります。
以上がPHPは空の配列を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。