以前は、配列から空の値を削除する場合、foreach または while が強制的に使用されていました。簡単なコードは次のとおりです。PHP コード
<p><?php</p><p>foreach( $array as $k=>$v){</p><p>if( !$v ) unset( $array[$k] );</p><p>}</p><p>?></p>
これはあまり効率的ではありません。 foreach が操作されるたびに、foreach が多すぎると変数がコピーされます。このページは大きな消費になります。
今、コールバック関数を使用して配列をフィルタリングする関数 array_filter() 関数 を発見しました。コールバック関数を使用して処理できると常に考えていましたが、そうではありませんでした。マニュアルには別の関数があることが分かりました。つまり、コールバック関数がない場合、デフォルトでは配列内の false 値を持つ項目が削除されます。
ルーチン:
PHP コード
<p><?php</p><p>$entry = array(0 => ‘scutephp.com’,1 => false,2 => -1,3 => null,4 => ”,5 =>1,6 => 0);</p><p>print_r(array_filter($entry));</p><p>?></p>
出力値:
Array([0] => 'scutephp.com'[2] => -1[5]=>5)