2 つの削除方法: 1. array_diff() 関数を使用して、「0」のみを含む配列と元の配列を比較します。構文は「array_diff($arr, [0])」です。 array_filter() 関数は配列をフィルタリングするコールバック関数を呼び出します。構文は「function f($var){return($var!==0);}$arr=array_filter($arr,"f"); です。」 」。
このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター
方法 1 : array_diff() 関数を使用して 0
array_diff() 関数を使用して、2 つ (またはそれ以上) の配列の値を比較し、その差を返します。
array_diff(array1,array2,array3...);
「0」のみを含む配列を使用して元の配列と比較するだけです。構文: array_diff($arr, [0])
例 :
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1,2,3,0,1,"a","b","c",0,"d","a","c"); echo "原数组:"; var_dump($arr); $arr = array_diff($arr, [0]); echo "去除0后:"; var_dump($arr); ?>
注: array_diff() 関数は、2 つ (またはそれ以上) の配列の値 (key=>value の値) を比較し、次の値を返します。比較された配列 (array1) 内にあるが、他の引数配列 (array2 や array3 など) には含まれていないすべての値を含む差分配列。
方法 2: array_filter() 関数を使用して配列内の 0 を削除します
array_filter() 関数はコールバック関数を使用してフィルタリングします配列内の要素。
この関数は、入力配列内の各キー値をコールバック関数に渡します。コールバック関数が true を返した場合、入力配列の現在のキー値が結果配列に返されます。配列キー名は変更されません。
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
パラメータ | 説明 |
---|---|
配列 | 必須。フィルタリングする配列を指定します。 |
#コールバック | オプション。使用するコールバック関数を指定します。|
オプション。コールバックによって受信されるパラメータ形式を決定します。 |
ARRAY_FILTER_USE_KEY - コールバックはキー名を唯一のパラメータとして受け入れます
|
<?php header('content-type:text/html;charset=utf-8'); function f($var) { return($var!==0); } $arr=array(1,2,3,0,1,"a","","c",0); echo "原数组:"; var_dump($arr); $arr = array_filter($arr,"f"); echo "去除0后:"; var_dump($arr); ?>
注: array_filter() 関数にコールバック関数がない場合、デフォルトでは、配列内の値を false のプロジェクトとして削除します。
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1,2,3,0,1,"0","","c",0,null,FALSE); echo "原数组:"; var_dump($arr); $arr = array_filter($arr); var_dump($arr); ?>
推奨学習: 「
PHP ビデオ チュートリアル以上がPHP配列から0の値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。