PHPアレイからnullまたは空の要素を削除する
この質問では、PHPアレイからnullまたは空の要素を削除する方法について説明します。 これを実現するには、ビルトイン関数を使用したよりエレガントなアプローチに至るまで、これを実現する方法がいくつかあります。 いくつかのオプションを調べてみましょう:方法1: array_filter()
の使用
$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = array_filter($array, function ($value) { return !is_null($value) && $value !== ""; }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [5] => world [7] => 2 )
このコードは、lambda関数を使用して、要素がnullでも空の文字列でもないかどうかを確認します。 !is_null($value)
パーツは明示的にnull値をチェックしますが、$value !== ""
は空の文字列をチェックします。 0
およびfalse
は有効な要素と見なされ、保存されることに注意してください。また、0
およびfalse
を削除する必要がある場合は、それに応じてコールバック関数を変更する必要があります(以下を参照)。
方法3:0およびfalseを削除してforeach
を削除してarray_filter()
foreach
$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = []; foreach ($array as $value) { if (!is_null($value) && $value !== "") { $filteredArray[] = $value; } } print_r($filteredArray); // Output: Array ( [0] => 1 [1] => hello [2] => world [3] => 2 )
を削除してnullと空の文字列とともに削除する場合は、
nullと空の文字列要素の両方を同時に直接削除する単一の組み込み関数はありませんが、0
array_filter()
PHPアレイからnull値のみを削除する最も効率的な方法は、null値をチェックするコールバック関数を使用してif
を使用することです。以前に説明したように、空の文字列とヌルをフィルタリングすることは、両方の条件をチェックするコールバック関数を使用してforeach
を使用します。内蔵PHP関数は、nullと空の要素の配列をクレンジングします
array_filter()
は最も近くて最も効率的な組み込みのソリューションです。 コールバック関数を使用してフィルタリング基準を定義する柔軟性を提供し、特定のニーズに基づいてヌル、空の文字列、またはその他の望ましくない要素を削除できるようにします。 foreach
ループを使用することは、代替手段ですが、効率が低いアプローチです。
以上が配列内のnullまたは空の要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。