ホームページ  >  記事  >  バックエンド開発  >  PHPで配列内のnull値インスタンスを削除する方法を詳しく解説

PHPで配列内のnull値インスタンスを削除する方法を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-24 10:08:191240ブラウズ

以前は、配列から空の値を削除する場合、foreach または while を使用して、配列内の空の要素を削除しました。簡単なコードは次のとおりです。私自身はかなり良いと感じていますが、これは以前に試したことがあります。まず、$arr をオブジェクトに変換し、そのオブジェクトの特性を使用して、現在操作されている配列をコピーします。 . foreach を実行するたびに変数がコピーされます。ページ内に foreach が多すぎると、大きな消費になります。

インターネットを徘徊していたら、

array_filter

の使用を提案している人を見て驚きました。説明書を開いて見てみると、宝の山を守っていたが使い方が分からなかった。

array_filter関数の機能は、callback関数

を使用して配列をフィルタリングすることです。コールバック関数を使用して処理できるとずっと思っていましたが、マニュアルにはその文がありませんでした。コールバック関数がない場合、デフォルト値は false のプロジェクトで配列を削除します。

<?php   
foreach( $arr as $k=>$v){   
    if( !$v )   
        unset( $arr[$k] );   
}   
?>
出力値は次のとおりです:
<?php   
$entry = array(   
             0 => &#39;foo&#39;,   
             1 => false,   
             2 => -1,   
             3 => null,   
             4 => &#39;&#39;  
          );   
print_r(array_filter($entry));   
?>

今後もマニュアルをもっと読む必要があるようです...

array_slice

と同じように、これも良いことです。残念ながら今まで気付かなかったです。

添付: 別の例

コードをコピーします

コードは次のとおりです:

Array   
(   
    [0] => foo   
    [2] => -1   
)
配列 $rsArray に格納される値は次のとおりです: A B C D

array_values() 関数は、すべてのキー値を含む配列を返します指定された配列では、キー名は保持されません。

array_diff() 関数は 2 つの配列の差分配列を返します。この配列には、比較対象の配列内にあるが、他のパラメーター配列には含まれていないすべてのキーが含まれます。

array_unique() 関数は、配列から重複する値を削除し、結果の配列を返します。複数の配列要素の値が等しい場合、最初の要素のみが保持され、他の要素は削除されます。

返された配列内のキー名は変更されません。

array_merge

() 関数は、2 つ以上の配列を 1 つの配列にマージします。

キー名が重複している場合、キーのキー値は最後のキー名に対応する値になります(後のキー名が前のキー名を上書きします)。配列が数値的にインデックス付けされている場合、キー名は連続して再インデックス付けされます。

以上がPHPで配列内のnull値インスタンスを削除する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。