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

Laraevelのミドルウェアについて

以前からLaravel(ララベル)を使っていてわかりにくかったミドルウェアについてめも。 Laravelは一般的にはMVCフレームワークと言われていますが、コントローラーがリクエストを受け取り、何らか …

no image

データ構造の基礎知識 前編 メモリとポインタ、配列と連結リスト

WEB+DB(vol91)で使えそうな連載記事がありますのでブログにメモリます。 テーマはデータ構造です。 Contents1 データ構造とは?2 計算量3 プログラムとメモリ4 配列について4.1 …

no image

オブジェクト指向設計 ダックタイピング

オブジェクト指向シリーズ。ダックタイピング・・読む前は名前は聞いたことあるような気がする・・程度で細かいことは何一つわからない状態でした。今回具体的なコード例があった分イメージを何とかつかむことはでき …

no image

PHPでのPDF出力 テーブル

PDFで何かを出力する場合、ほとんどが納品書や請求書などの帳票でしょう。 これらもfpdfで出力することができます。 Contents1 ソース2 サンプル3 参考リンク ソース [crayon-5e …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …