ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHPチュートリアルで配列内のnull値を削除する方法の紹介

PHP_PHPチュートリアルで配列内のnull値を削除する方法の紹介

WBOY
WBOYオリジナル
2016-07-13 10:32:45862ブラウズ

恥ずかしながら、以前は配列の空の値を削除するには、常に foreach または while を記述して、配列内の空の要素を削除する必要がありました。簡単なコードは次のとおりです。以下:

コードをコピーします コードは次のとおりです:

foreach( $arr as $k=>$v){
if( !$v )
unset( $ arr[$k] );
}
?>

これはかなり良いと思いますが、以前に試したことがあります。最初に $arr をオブジェクトに変換し、次にオブジェクトの特性を使用してそれを削除します。 なぜなら、foreach は現在の配列をコピーするからです。操作とすべての操作 各 foreach コピーは変数をコピーします。ページ内に foreach が多すぎると、大きな無駄になります。

インターネットを徘徊しているときに、array_filter の使用を提案している人を見て驚きました。説明書を開いて見てみると、宝の山を守っていたが使い方が分からなかった。

array_filter関数の機能は、コールバック関数を使用して配列をフィルタリングすることです。私はいつもコールバック関数を使用してそれを処理できると思っていましたが、マニュアルには別の文があることがわかりませんでした。コールバック関数がない場合、デフォルトでは、配列内の false 値を持つ項目が削除されます。

コードをコピーします コードは次のとおりです:


$entry = array(
0 => 'foo',
1 => false ,
2 => -1、
3 => null、
4 =>を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通して を通してそして

コピーしますコード

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

Array
(
[0] => foo [2] => -1 )
今後もマニュアルをもっと読む必要がありそうです...array_slice と同じように、これも良いことです。残念ながら今まで気付かなかったです。


添付ファイル: 別の例


コードをコピー

コードは次のとおりです:$strDelCodes = "A;B;;C;;C;D;;;D;D";

$rsArray = array_values (array_unique (array_diff) (分割 ("; ", $strDelCodes), 配列 (""))));

配列 $rsArray に格納される値は次のとおりです: A B C D array_values() 関数は、指定された配列内のすべてのキー値を含む配列を返しますが、キー名は保持しません。
array_diff() 関数は 2 つの配列の差分配列を返します。この配列には、比較対象の配列内にあるが、他のパラメーター配列には含まれていないすべてのキーが含まれます。

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

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

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

http://www.bkjia.com/PHPjc/754340.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/754340.html

技術記事恥ずかしながら、以前は配列から空の値を削除するときは、必ず foreach または while を記述して、配列内の空の要素を削除していました。簡単なコードは次のとおりです。コード生成...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。