アカウント名:
パスワード:
その辺が問題になるようなプログラムなら===を使っているだろうし実害はない気がする。
何が入ってくるか判らないのならstrcmpが無難じゃないかな。桁溢れしそうソートならusort($a, 'bccomp');にすれば良いだけだしなぁ。
strcmp は「なんかよく分からない値→文字列」の変換をかましてから、文字列同士を比較するので、変換で何が起きるかをきちんと把握していていない限り使っちゃダメ、だそうです。
上記記事では、 pow(2,52) と pow(2,52)+10 が strcmp では同一と判定されてしまう、という例が示されています。結論としては === を使え、ということのようです。
memcmpないの?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
===を使えば良いだけのような (スコア:0)
その辺が問題になるようなプログラムなら===を使っているだろうし実害はない気がする。
Re: (スコア:0)
何が入ってくるか判らないのならstrcmpが無難じゃないかな。
桁溢れしそうソートなら
usort($a, 'bccomp');
にすれば良いだけだしなぁ。
Re: (スコア:3, 参考になる)
strcmp は「なんかよく分からない値→文字列」の変換をかましてから、文字列同士を比較するので、変換で何が起きるかをきちんと把握していていない限り使っちゃダメ、だそうです。
上記記事では、 pow(2,52) と pow(2,52)+10 が strcmp では同一と判定されてしまう、という例が示されています。結論としては === を使え、ということのようです。
Re:===を使えば良いだけのような (スコア:0)
memcmpないの?