• 初歩的な質問ですみません。

    function hoge() {
    global $post_type;
    if ( $post_type === 'hogehoge') { ………………}}

    のようなコードを使う際、
    『 ( $post_type === 'hogehoge')』の=は3個にするべきと聞きました。
    これの理由はなぜですか?

    たとえば==が2個でも動きますし、実際に2個で動かしているサイトもよく見かけます。

    具体的に何が違うのでしょうか…?
返信の受付は終了いたしました。
  • 3個の場合、厳密な比較が行われます。
    数値と文字列は違いますが、2個だと同じ値なら通ってしまいます。
    (要は型の比較まで3だと行われる)
    基本的に問題になることは少ないですが、思わぬバグが生じる可能性があるので3個を使うべきです。
  • データの型まで一致するかどうかに違いが出る
    $num1 = 123と$num2 = "123"を比較すると==と===で違いが出る
    ==だと数値と文字列で型が違うけど比較するとtrueになるが、===で比較するとfalseになる
  • スレ主(GczDmR)2022年12月24日
    なるほど…ありがとうございます!
    持っている教材を読んでも解説が載っておらず、どういう理由なのか分からず悩んでいました。お二人とも丁寧に教えてくださりありがとうございました!勉強になります。
  • 今回は親切な人に教えてもらえてよかったけど、自分でググる癖つけような。
    「PHP == === 違い」でググったら、わかりやすい解説が1ページ目にあったよ。上の人たちが書いてくれたのと同じようなこと書いてある。
    持ってる教材には書いてなかったのかもしれないが、自分で調べる、わからなかったら英語でググる、それぐらいの力つけないと、実力はつかへんで。