ホームページ > バックエンド開発 > PHPの問題 > PHPは空の配列を削除します

PHPは空の配列を削除します

WBOY
リリース: 2023-05-23 10:20:07
オリジナル
1452 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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