$v){...}" メソッドを使用して、配列から null 値を削除します; 2. while 構文構造を使用して、 null 値を削除; 3. array_filter 関数を使用して配列をフィルタリングし、null 値を削除します。"/> $v){...}" メソッドを使用して、配列から null 値を削除します; 2. while 構文構造を使用して、 null 値を削除; 3. array_filter 関数を使用して配列をフィルタリングし、null 値を削除します。">
PHP 配列から null を削除する方法: 1. "foreach( $arr as $k=>$v){...}" メソッドを使用して、配列の null 値を削除します。 while 構文構造を使用して null 値を削除します; 3. array_filter 関数を使用して配列をフィルターし、null 値を削除します。
このチュートリアルの動作環境: Windows 10 システム、PHP バージョン 8.1、DELL G3 コンピューター
から null を削除する方法phpの配列?
PHPで配列内のnull値を削除する方法の紹介
恥ずかしながら、以前はnull値を削除する際に配列からは、常に foreach または while を使用しました。これら 2 つの文法構造を使用して、配列内の空の要素を削除します。簡単なコードは次のとおりです:
コードは次のとおりです:
<?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?>
そして、私自身はかなり良いと感じていますが、これはあまり効率的ではありません。私はそれを試してみましたが、最初に $arr をオブジェクトに変換し、次にオブジェクトの特性を使用してそれを削除します。 foreach を実行するたびに変数がコピーされるため、ページ内に変数が多すぎると、foreach の消費が大きくなります。
インターネットを徘徊していると、array_filter の使用を提案している人を見て驚きました。説明書を開いて見てみると、宝の山を守っていたが使い方が分からなかった。
array_filter 関数の機能は、コールバック関数を使用して配列をフィルタリングすることです。コールバック関数を使用して処理できると常々思っていましたが、次の文があることに気づきませんでした。コールバック関数がない場合、デフォルトでは配列内の値が削除されます。 false の項目。
コードは次のとおりです:
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
出力値は次のとおりです:
コードは次のとおりです:
Array ( [0] => foo [2] => -1 )
まだ必要があるようです今後さらにマニュアルを読んでください...array_slice と同様に、これも良いことです。残念ながら今まで気付かなかったです。
添付ファイル: 別の例
コードは次のとおりです:
$strDelCodes = "A;B;;C;;C;D;;;D;D"; $rsArray = array_values (array_unique (array_diff (split (";", $strDelCodes), array (""))));
配列 $rsArray に格納される値は次のとおりです: A B C D
array_values( ) 関数は、指定された配列内のすべてのキー値の配列を含む配列を返しますが、キー名は保持しません。
array_diff() 関数は、2 つの配列の差分配列を返します。この配列には、比較対象の配列内にあるが、他の引数配列には含まれていないすべてのキーが含まれます。
array_unique() 関数は、配列から重複する値を削除し、結果の配列を返します。複数の配列要素の値が等しい場合、最初の要素のみが保持され、他の要素は削除されます。
返された配列内のキー名は変更されません。
array_merge() 関数は、2 つ以上の配列を 1 つの配列にマージします。
キー名が繰り返される場合、キーのキー値は最後のキー名に対応する値になります (後のキー名が前のキー名を上書きします)。配列が数値的にインデックス付けされている場合、キー名は連続して再インデックス付けされます。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP配列からnullを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。