Eyecatch php

PHP

PHP|array_filter()とstrlen()で配列から空の要素を一括で削除(排除)する。

作成したり、取得した配列を調査し、要素が空白の場合はキーごと削除する方法。

以下の様な配列があるとします。

Denmark がいわゆる空要素。その他に、NULL、FALSE、1、半角スペースだったりがあります。
この空要素を配列から排除したい場合、どうすれば良いでしょうか。

foreachでグリグリ回す方法がまず、思い浮かびます。

結果は以下。

判定の書き方にもよりますが、今回の書き方だと、0、空白、FALSE、NULL が削られてしまいました。
0はフラグなどでも使う要素なので、何とかしたい。

ということで、もうちょっとスマートに出来る方法がこれ。

結果。

「2番目の引数の関数(strlen)をコールして「値の文字列の長さ」を調査、FALSEであればその要素を削除」という仕様なので、FALSE と NULL は削られますが、0 、半角スペースは削除されません。

これで欲しい結果が取得出来ます。

なるほどですね。

プロになるための PHPプログラミング入門

プロになるための PHPプログラミング入門

星野 香保子

価格 : 2,894円

     

-PHP
-, , , ,