アカウント名:
パスワード:
正直、PHPを知らない人間には理解できないとしか言いようが無い
'9223372036854775807' == '9223372036854775808' は文字列の比較だから、当然true'9999999999999999999.0' == '9999999999999999999.1' も文字列の比較だから、当然false9999999999999999999.0 == 9999999999999999999.1 は浮動小数点数の比較だから、言語仕様上どのような値を返すことになっているのか注意しろ(あるいは使うな)
という他のプログラミング言語の常識は通用しないのか......................PHPの==は両辺を適当に【型キャストしてから】比較するような演算子~というのも良く分からない(なんでわざわざキャストする仕様なの?)
>PHPの==は両辺を適当に【型キャストしてから】比較するような演算子~というのも良く分からない(なんでわざわざキャストする仕様なの?)
a=1;b=""; (整数の1と空文字列)として
a == 1a == "1"a != "abc"a == "1abcde"b == ""b == nullb == 0なんかでもtrueが帰るんだっけ?まあなんかそういう感じの奴。
使うのは a == "1"くらいまでにしとくのが無難。だから詳細は覚える気ないし、上のも間違ってる可能性大。#「 a == "one", b == "虚無" でもtrueが帰るんだよ!HAHAHAHAHA!」#もちろん冗談ですよ。 …… 今のところは。
そういえば今回の仕様変更は、比較には影響しないのかな。'9223372036854775807' < '9223372036854775808'はどうなる?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
PHPを知らない人間には理解できない (スコア:0)
正直、PHPを知らない人間には理解できないとしか言いようが無い
'9223372036854775807' == '9223372036854775808' は文字列の比較だから、当然true
'9999999999999999999.0' == '9999999999999999999.1' も文字列の比較だから、当然false
9999999999999999999.0 == 9999999999999999999.1 は浮動小数点数の比較だから、言語仕様上どのような値を返すことになっているのか注意しろ(あるいは使うな)
という他のプログラミング言語の常識は通用しないのか......................
PHPの==は両辺を適当に【型キャストしてから】比較するような演算子~というのも良く分からない(なんでわざわざキャストする仕様なの?)
Re:PHPを知らない人間には理解できない (スコア:0)
>PHPの==は両辺を適当に【型キャストしてから】比較するような演算子~というのも良く分からない(なんでわざわざキャストする仕様なの?)
a=1;b=""; (整数の1と空文字列)として
a == 1
a == "1"
a != "abc"
a == "1abcde"
b == ""
b == null
b == 0
なんかでもtrueが帰るんだっけ?
まあなんかそういう感じの奴。
使うのは a == "1"くらいまでにしとくのが無難。
だから詳細は覚える気ないし、上のも間違ってる可能性大。
#「 a == "one", b == "虚無" でもtrueが帰るんだよ!HAHAHAHAHA!」
#もちろん冗談ですよ。 …… 今のところは。
そういえば今回の仕様変更は、比較には影響しないのかな。
'9223372036854775807' < '9223372036854775808'
はどうなる?