ホームページ > バックエンド開発 > PHPの問題 > PHPで配列から空の要素を削除する方法

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

PHPz
リリース: 2023-04-04 14:10:02
オリジナル
647 人が閲覧しました

PHP は、Web 開発や動的な Web サイトの作成によく使用される、人気のあるサーバー側プログラミング言語です。 PHP プログラミングでは、配列は一般的なデータ型です。場合によっては、配列内の空の要素をフィルターで除外する必要がある場合があります。この記事では、配列から空の要素を削除する方法を紹介します。

1. foreach ループを使用して配列を走査する

foreach ループを使用して配列を走査し、empty() 関数を使用して各要素が空かどうかを判断できます。空の場合は、unset() 関数を使用して移動し、この要素を削除してください。コードは次のとおりです:

$arr = array('php', '', 'java', '', 'python');
foreach($arr as $key=>$value){
    if(empty($value)){
        unset($arr[$key]);
    }
}
print_r($arr);
ログイン後にコピー

実行結果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

2. array_filter() 関数を使用します

PHP には組み込み関数 array_filter() が用意されています。配列内の要素をフィルターで除外します。 空の要素。コードは次のとおりです:

$arr = array('php', '', 'java', '', 'python');
$arr = array_filter($arr);
print_r($arr);
ログイン後にコピー

実行結果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3. array_diff() 関数を使用します

さらに、array_diff() 関数を使用することもできます。 2 つの配列のうちの 1 つを返すことができます。空の配列と元の配列に対して差分演算を実行し、差分の結果を返すことができます。コードは次のとおりです:

$arr = array('php', '', 'java', '', 'python');
$arr = array_diff($arr, array(''));
print_r($arr);
ログイン後にコピー

実行結果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

4. array_reduce() 関数を使用します

最後に、反復処理を行う array_reduce() 関数を使用できます。左から右へ 各要素を前の結果と結合する配列。要素が空かどうかはコールバック関数で判断でき、空の場合は前の結果を返し、そうでない場合は結果の配列に要素を追加します。コードは次のとおりです:

$arr = array('php', '', 'java', '', 'python');
$arr = array_reduce($arr, function($result, $val){
    if(!empty($val)){
        $result[] = $val;
    }
    return $result;
}, array());
print_r($arr);
ログイン後にコピー

実行結果:

Array
(
    [0] => php
    [1] => java
    [2] => python
)
ログイン後にコピー

上記は空の配列を削除するためのいくつかの方法であり、必要に応じて適切な方法を選択できます。

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

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