空の要素をPHPの配列から削除するという古くからの問題に対する簡単な解決策は見当たりません。空の要素とサブアレイを多次元配列から再帰的に削除する
私の入力配列は次のようになります。
(存在しないかもしれませんが...、より多くのデータがあるかどうそしてそうで、)
Array ([0] => Array ([Name] => [EmailAddress] =>))
それは上記のように見える場合は、I私がそれを処理した後にが完全に空になるようにします。
のでprint_r($array);
は出力になります。私は$arrayX = array_filter($arrayX);
を実行する場合
Array ()
私はまだ同じprint_r
出力を取得します。私が見てきたどこでも、これはPHP5で空の配列要素を取り除く最も簡単な方法です。
私も$arrayX = array_filter($arrayX,'empty_array');
を試してみましたが、私は次のエラーました:
Warning: array_filter() [function.array-filter]: The second argument, 'empty_array', should be a valid callback
は私が間違って何をやっているの?
array_filterは1Dアレイ用に設定されています。 –
サンプルの入力は可能ですか?あなたの質問を解釈するためのいくつかの方法があります。*「上記のように見える場合、私はそれを処理した後、完全に空であることを望みます。」*私は私を捨てています。空の配列にするには? –
これは多次元配列です。 array_filterは1つのディメンションでのみ動作します。あなたはあなたの配列を反復処理し、最初に各反復にarray_filterを適用する必要があります。 – Nilpo