MinEMemO

【PHP】空判定メモ

📝 更新日:2022-10-26 / 📄 作成日:2022-10-17
Hero Image
目次

PHP()空判定メモ

PHP Version 5.6.30の検証結果です。

結論

基本的には不要な値を把握して == はつかわずに === を使ったり明確に書く方がいいと思います。

ただ値が把握できない時などは == よりは empty() がわかりやすいし安全だと思いました。

実験メモ

empty()

empty(null)true
empty(false)true
empty(”)true
empty(0)true
empty(‘0’)true
empty(‘12345’)false
empty(12345)false
empty(‘abcde’)false
empty(array())
true

== ”

nulltrue
falsetrue
true
0true
‘0’false
‘12345’false
12345false
‘abcde’false
array()
false

== 0

nulltrue
falsetrue
true
0true
‘0’true
‘12345’false
12345false
‘abcde’true
array()
false

== ‘0’

nullfalse
falsetrue
false
0true
‘0’true
‘12345’false
12345false
‘abcde’false
array()
false

isset()

「変数が宣言されていること、そして null とは異なることを検査する」なので今回の検証からは除外

is_null()

「 変数が null かどうか調べる」なので今回の検証からは除外

明確に把握してかけるのが一番です!
profile_icon
taka
プログラマー
2017年11月から業務でPHPを触りだしたエンジニアです。 業務経験8年程度。 2022年から「要求整理→設計→実装→テスト→リリース」と開発のステップをきちんと経験したく、 様々な会社を経験しました。 現職が自社案件枯渇、本社エリア以外のSES案件の繋がりがなしと急に発覚し、 26/05から急遽強制的に転職活動中。 現職をやめるつもりはなかったし、転職は本当に最後にしたいのでもしよければお声がけください。 【GitHub コードサンプル】 https://github.com/tm-qc - Docker、MVC、CRUD、認証、テストなどのサンプルコード(Laravel、ASP.NET CORE) - 経験PJ詳細まとめ