質問編集履歴
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,4 +18,15 @@
|
|
18
18
|
|
19
19
|
「そのためには、任意の文字列の数値1への対応、という対称性は犠牲にするしかない」
|
20
20
|
|
21
|
-
という意図が篭っているのではないか、と思いました。
|
21
|
+
という意図が篭っているのではないか、と思いました。
|
22
|
+
|
23
|
+
【追記】
|
24
|
+
maisumakun様のご指摘を受けて
|
25
|
+
|
26
|
+
確かにそうでした。
|
27
|
+
しかし、以下のマニュアルの==演算子の緩い型変換比較表
|
28
|
+
https://www.php.net/manual/ja/types.comparisons.php
|
29
|
+
においては、
|
30
|
+
例えば文字列'php'は数値0との比較でtrueを返し、数値1との比較でfalseを返す、とあります。
|
31
|
+
|
32
|
+
型変換という概念と、==での型の相互変換という概念は、全く異なるもの、ということでしょうか。
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PHPにおいて、任意の文字列の数値への型変換は0となっていますが、どうにも気持ち悪い定義だと思いました。
|
2
|
-
というのも、ブール値への
|
2
|
+
というのも、数値と文字列のブール値への型変換は、
|
3
|
-
1はtrue、0はfalseであり、
|
3
|
+
数値1はtrue、数値0はfalseであり、
|
4
4
|
空でない任意の(数字でない)文字列はtrue、空の文字列''はfalse、
|
5
|
-
となっているからです。
|
5
|
+
という対応なっているからです。
|
6
6
|
|
7
7
|
ならば、文字列の数値への型変換は、
|
8
8
|
空でない任意の文字列を1に、
|