if文を学んでると出てくる「==」と「===」
最初はわかりづらいですよねこいつら。
本日もざっくり解説していきます!!!
サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!
https://akeoblog.com/vardump/目次
1. 結論
「==」
値の比較をしている(緩めのチェック)
「===」
値と型を比較をしている(厳しめのチェック)
2. サンプルコード「==」緩めのチェック
<?php
$a = 0;
if ($a == "0") {
//処理が実行される
}
if ($a == null) {
//処理が実行される
}
if ($a == false) {
//処理が実行される
}
if (empty($a)) {
//処理が実行される
}
この書き方だと全部処理が実行されてしまうよ!!
思わぬ挙動になる可能性あり!こわい、、。
3. サンプルコード「===」厳しめのチェック
置換(文字列)
<?php
$a = 0;
if ($a === "0") {
//処理が実行されない
}
if ($a === null) {
//処理が実行されない
}
if (is_null($a)) {
//処理が実行されない
}
三つ目のif文に注目です!
empty()からis_null()に変えてます!!
4. まとめ
PHPは良くも悪くも「型」についてそこまで意識せずともコードが動いてしまいます。
思わぬバグを生まないように「厳しめのチェック」をしていきたいものですね。