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

シェルの基礎+ユーザー切り替え関連

雑誌を見ていたらシェルの特集があったので、ちょっとメモリます。 補強したいところのみ要点をチェック。 Contents0.1 実行パスについて0.2 ビルドインコマンド0.3 シェル変数・環境変数0. …

no image

PHPの名前空間

PHPでも5.3以降はJavaのパッケージのように名前空間を使うことができます。 いままではライブラリやアプリケーションの開発者は、PHPに組み込まれている関数やクラス名や他の人が作ったライブラリとの …

no image

CakePHP3 リクエストパラメーターの扱いについて

CakePHPのリクエストの扱いについて。 ほとんどのフレームワークですと、HTTPリクエストの扱いに関してはフレームワーク側で実装されていることが多いので、フレームワークを使い始める場合、この部分に …

no image

Laravelでのmiddlewareの実行順番

Laravelでのmiddlewareをいじって認証直後の処理を作りたいときなど。 例えばログイン後、ユーザーidに応じた共通処理などをかませたいときです。 この場合、当然ログインの後に処理を実行しな …

no image

ExcelVBAに関して(主にプロシージャ)

いつも半年ごとぐらいに触っていてあまり知識が蓄積しないので(汗)これを機につまづいたところをちょっとメモ。 Contents1 基本2 メモ3 参考リンク 基本 基本的な変数の代入や条件分岐、ループな …