PHPは配列から空でない要素を削除します

王林
リリース: 2023-05-29 09:16:37
オリジナル
702 人が閲覧しました

PHP 開発では、配列を処理する必要があることがよくあります。よくある質問の 1 つは、配列から空でない要素を削除する方法です。この記事では、PHP を使用してこのタスクを実現する方法を説明します。

まず、PHP の一般的な配列型を見てみましょう。 PHP は、インデックス付き配列と連想配列の 2 種類の配列をサポートします。インデックス付き配列は数値インデックスに基づく配列であり、連想配列は文字列キーに基づく配列です。以下は配列の例です:

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

上記の配列には、複数の null 以外の空の要素があります。私たちのタスクは、これらの空でない要素を削除して、完全に空の配列を取得することです。

方法 1: foreach ループと unset 関数を使用する

foreach ループを使用して配列全体を走査し、unset 関数を使用して空でない要素を削除できます。その方法は次のとおりです。

foreach ($arr as $key => $value) {
    if ($value !== "" && $value !== null) {
        unset($arr[$key]);
    }
}
ログイン後にコピー

上記のコードでは、foreach ループを使用して配列全体を反復処理します。要素の値が空の文字列または null でない場合は、unset 関数を使用して要素を削除します。

方法 2: array_filter 関数を使用する

もう 1 つの方法は、PHP の組み込み関数 array_filter を使用することです。この関数は配列を受け入れ、コールバックが true を返す要素のみを含む新しい配列を返します。要素が空か null かを検証するコールバック関数を定義できます。実装方法は次のとおりです。

function emptyFilter($value) {
    return $value !== "" && $value !== null;
}

$arr = array_filter($arr, "emptyFilter");
ログイン後にコピー

上記のコードでは、emptyFilter という名前のコールバック関数を定義します。この関数は値を受け入れ、true または false を返します。値が空の文字列または null の場合、関数は false を返します。次に、array_filter 関数を使用して配列をフィルタリングし、コールバック関数が true を返す要素のみを保持します。

概要

配列から空でない要素を削除するための 2 つの一般的な方法を紹介しました。 foreach ループと unset 関数の使用は、ループ操作や削除操作がパフォーマンスに影響を与える可能性があるため、大規模な配列を操作する場合には効率的ではない可能性があります。一方、array_filter 関数を使用すると、よりスケーラブルで柔軟であり、さまざまなコールバック関数を渡すことでフィルタリング基準をカスタマイズできます。この記事が、PHP 開発中の配列の処理の向上に役立つことを願っています。

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

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