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
プログラマー
いつでも転職希望の業務経験7年目(2023時点)のエンジニアです。 仕事の合間にすこしずつ転職活動はしていますが、条件が合う場合ぜひTwitterなどでご連絡頂けると嬉しいです。 希望条件は基本的に残業は1日x1h程度。収入は一旦現状維持。 ある程度で構わないので、保守運用が管理されていて、精神的に安心して働ける環境が良いです。 経験言語はHTML、CSS、javascript、PHP、MySQL、Docker、Vuejs、Laravel このブログは完全に自作で静的ジェネレータで作りました。 この範囲で言えば React.js Gatsby.js GraphQLも経験があります。 最近はAIがどう社会に受け入れられ、日常になっていくのかの行く末が気になっています。 今までの人生で一番変化を感じて不思議な感覚です。