PHP配列から空の要素を削除する

王林
リリース: 2023-05-11 09:51:36
オリジナル
964 人が閲覧しました

PHP で開発する場合、多くの場合、配列を操作する必要があります。このプロセス中に空の配列要素が発生する可能性があり、コードが正常に実行できなくなったり、コード ロジックが混乱したりする可能性があります。したがって、PHP 配列から空の要素を削除することは、頻繁に対処する必要がある問題の 1 つです。この記事では、PHP 配列から空の要素を削除するいくつかの方法を紹介します。

1. array_filter 関数を使用する

PHP 組み込み関数 array_filter を使用して、配列内の空の要素をフィルターで除外できます。この関数は、元の配列内の空でない要素のみを含む新しい配列を返します。

次は、array_filter 関数を使用して配列内の空の要素を削除するサンプル コードです:

$arr = array("apple", "banana", "", "orange", null);
$arr = array_filter($arr);
print_r($arr);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => apple
    [1] => banana
    [3] => orange
)
ログイン後にコピー
ログイン後にコピー

これは次のことを確認できます。このメソッドは、配列の空の要素 (空の文字列と null 値を含む) をフィルターで除外し、空でないすべての要素を含む新しい配列を返すことができます。

2. foreach ループを使用する

foreach ループを使用して配列を走査し、空でない要素を新しい配列に格納することもできます。

次は、foreach ループを使用して配列内の空の要素を削除するコード例です:

$arr = array("apple", "banana", "", "orange", null);
$newArr = array();
foreach ($arr as $val) {
    if (!empty($val)) {
        $newArr[] = $val;
    }
}
print_r($newArr);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、これはこのメソッドは、配列の空の要素をフィルターで除外し、空でないすべての要素を含む新しい配列を返すこともできます。

3. array_map 関数を使用する

場合によっては、array_map 関数を使用して、配列内の空の要素を削除できます。この関数はコールバック関数をパラメータとして受け取り、その関数を配列内の各要素に適用し、結果の配列を返します。

次は、array_map 関数を使用して配列内の空の要素を削除するサンプル コードです:

$arr = array("apple", "banana", "", "orange", null);
$newArr = array_map('trim', $arr);
$newArr = array_filter($newArr);
print_r($newArr);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => apple
    [1] => banana
    [3] => orange
)
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、これはこのメソッドは、trim 関数を適用することによって削除されます。配列要素内のスペースを削除し、array_filter 関数を使用して空の要素を除外し、空でないすべての要素を含む新しい配列を返します。

4. array_reduce 関数を使用する

array_reduce 関数は、配列内のすべての要素に対してリダクション操作 (折りたたみとも呼ばれます) を実行し、最終結果を返すことができます。

次は、array_reduce 関数を使用して配列内の空の要素を削除するサンプル コードです:

$arr = array("apple", "banana", "", "orange", null);
$newArr = array_reduce($arr, function ($carry, $item) {
    if (!empty($item)) {
        $carry[] = $item;
    }
    return $carry;
}, array());
print_r($newArr);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、これはこのメソッドは、array_reduce 関数を使用してリダクション操作を実行し、空でない要素を新しい配列に格納し、新しい配列を返します。

概要:

PHP 配列から空の要素を削除することは一般的なニーズです。この記事では、この問題を解決するためのさまざまな方法を紹介します。 array_filter 関数、foreach ループ、array_map 関数、array_reduce 関数のいずれを使用するかに関係なく、それぞれの方法にユースケースと長所と短所があります。開発者は、特定のニーズに基づいて最適な方法を選択できます。

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

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