teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

2019/03/26 05:19

投稿

WeilSpinor
WeilSpinor

スコア170

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

2019/03/26 05:19

投稿

WeilSpinor
WeilSpinor

スコア170

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に、