2 つの削除方法: 1. array_filter() 関数を使用して配列をフィルタリングし、null 要素を削除します。構文は「array_filter($arr)」です。 2. foreach ステートメントを使用して連想配列をループし、ループ本体で empty() を使用して null 要素を特定し、unset() 関数を使用してキー名に基づいて要素を削除します。構文は "foreach( $arr as $k=>$v) {if(empty($v)){unset($arr[$k]);}}」。
このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター
方法 1 : 使用します array_filter() 関数は配列をフィルタリングし、空の値を持つ要素を削除します
コールバック関数としても知られる array_filter() 関数は、配列の要素をフィルタリングするために使用されます。ユーザー定義関数を使用します。配列内の各値を反復処理し、それらをユーザー定義関数またはコールバック関数に渡します。
array_filter() 関数を使用してコールバック関数を宣言すると、偽の値 (null 値) が削除されますが、コールバック関数が指定されていない場合は、値が等しい配列内のすべての要素が削除されます。 null などの FALSE にすると、文字列または NULL 値が削除されます。
実装コード
function f($arr){ $newarr = array_filter($arr); echo "过滤后的数组:"; var_dump($newarr); }
f($arr)関数の呼び出し
$arr = array(11,'',null,12,false,0); var_dump($arr); f($arr);
方法 2: foreach ステートメント empty() 関数 unset() 関数
foreach ステートメントを使用して配列をループする
ループ本体では、empty()を使って配列要素が空かどうかを1つずつ判定し、unset()関数を使ってキー名に基づいて空の値を削除します
実装コード:
<?php header("Content-type:text/html;charset=utf-8"); function f($arr){ foreach ($arr as $k=>$v){ if(empty($v)){ unset($arr[$k]); } } echo "过滤后的数组:"; var_dump($arr); } $arr = array(11,'1','',' ','0','0.0',0.0,null,12,false,0); var_dump($arr); f($arr); ?>
関数の説明:
empty()
この関数は、変数が空かどうかを確認するために使用されます。
empty() 変数が空であるとみなされるかどうかを判断します。変数が存在しない場合、またはその値が FALSE に等しい場合、その変数は存在しないとみなされます。 empty() は、変数が存在しない場合に警告を生成しません。
次の値は empty() によって空とみなされます:
"" (空の文字列)
0 (整数としての 0)
0.0 (浮動小数点数としての 0)
"0" (文字列としての 0)
NULL
FALSE
unset() この関数は、指定された変数を破棄するために使用されます。
PHP ビデオ チュートリアル 」
以上がPHPで空の配列要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。