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
プログラマー
いつでも転職希望の業務経験6年目(2022時点)のエンジニアです。 仕事の合間にすこしずつ転職活動はしていますが、条件が合う場合ぜひTwitterなどでご連絡頂けると嬉しいです。 希望条件は現在の年収を下回らない(手取り31万以上)、基本残業なし、ある程度保守運用が管理されていて、その経験ができる職場で働きたいです。 (管理がされてない案件が多く、心的安全が少ない仕事が多いので、ある程度安心して働きたいと感じています。) 経験言語はHTML、CSS、javascript、PHP、MySQL、Docker、Vuejs、Laravel このブログは完全に自作で静的ジェネレータで作りました。 この範囲で言えば React.js Gatsby.js GraphQLも経験があります。