skillup

技術ブログ

PHP プログラミング全般

emptyの扱いに関して

投稿日:

PHPで空白や存在確認として便利なemptyですが、乱用すると意図しない動きをすることがあるケースが多々あります。

emptyの挙動に関して

基本的には下記のものがtrueになります。

  • 空白
  • null
  • false
  • 0
  • array
  • 未定義

個人的に気をつけたいと思う点。

数値の0

これが一番大きいかなと。

金額0円とか徒歩0分を判定したいときに、未定義やnullと0の判定が正確にできません。この場合、値の存在判定に関してはissetなどを使うべきでしょう。

検索などの全判定と値のなし

検索などで値がない時(is null)と全判定を分けたい時に。

この場合,issetなどで判定し、検索条件の中にnullを入れるべき

PHP isset, empty, is_null の違い早見表

-PHP, プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

CakePHP3系でのテスト処理

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。 Contents1 準備1.1 phpunit1.2 テスト …

no image

mb_convert_encodingに関して(文字コードの自動検出やその周辺)

以前Perlでもやりましたが、文字コードの自動検出に関して。 ちなみにcp932=SJIS-WINです。 参考リンク Perlでの動的改行コード読み込みに関して+cp932ネタ PHPの場合、mb_d …

no image

cakePHP小ネタ集(Authの複数認証)

最近よく触っているcakePHPの小ネタなど。 Contents1 Authコンポーネント 複数の認証2 自動のdivタグを出力しない3 Cakeでのプルダウン作成 Authコンポーネント 複数の認証 …

no image

composerに関して

Javaではライブラリをpomで管理し、mavenを使うことで一括管理していました。 PHPではcomposerがその役割を担っています。 Contents1 composer公式ドキュメント2 co …

no image

PHPでのデバッグ

基本的なことですが、PHPのdebugについておさらいを。 Contents1 一般的なデバッグツール1.1 var_dump1.2 xdebug1.3 フレームワークのdebugツール1.4 dd1 …

アーカイブ