結果は順にtrue、true、falseです。 これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。 よもや今さら基本中の基本である比較演算子の動作を弄ってくるとは思わなかったぞ。 以下はSaner string to number comparisonsの日本語訳です。 PHP RFC: Saner string to number comparisons Introduction ==やその他の非厳密な比較演算子を用いた文字列と数値の比較は、現在は、文字列を数値にキャストし、その後整数か浮動小数の比較を行っています。 この結果、多数の不可解な結果が得られますが、中でも注目すべきは0 == "foobar"がtrueになることです。 このRFCでは、文字列が実際に数値型文字列である場合にのみ数値型
![【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1d38d16fe21d5f89c9717950fef542525f9b529e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwUEhQOC4wJUUzJTgwJTkxJUU5JTlEJTlFJUU1JThFJUIzJUU1JUFGJTg2JUUzJTgxJUFBJUU2JUFGJTk0JUU4JUJDJTgzJUU2JUJDJTk0JUU3JUFFJTk3JUU1JUFEJTkwJTYwJTNEJTNEJTYwJUUzJTgxJUFFJUU2JThDJTk5JUU1JThCJTk1JUUzJTgxJThDJUU0JUJCJThBJUUzJTgxJTk1JUUzJTgyJTg5JUU1JUE0JTg5JUU2JTlCJUI0JUUzJTgxJUFCJUUzJTgxJUFBJUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1hNWU5Y2RhNDM2M2Q3ODU0MzFjNjBkMTY5ODIzMDAxYQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByYW5hX2t1YWx1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03N2I2ZjE5MzhkZTc1YjA5MWI1MWQ2MDI4MjBkM2JhYw%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dc91fb860a0239a92af5790d867ab61a0)