回答編集履歴
1
仕様をもっとわかりやすく修正
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
|
1
|
+
文字列から数値のキャストは1文字目から順に数字を探していき、
|
2
2
|
|
3
|
-
|
3
|
+
先頭文字がスペース等の空白文字だった場合は探索を継続しますが、数字以外が出た時点で探索打ち切り。
|
4
4
|
|
5
|
-
1文字も数値
|
5
|
+
1文字目がそもそも数値以外の文字だった場合は0として取り扱う仕様です。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -10,9 +10,21 @@
|
|
10
10
|
|
11
11
|
多分こう言いたいのだと思います。
|
12
12
|
|
13
|
+
PHP作者「だって`"10h"`を`10`って評価したいじゃん!ルール決めしたらこうなった!」
|
13
14
|
|
14
15
|
|
16
|
+
|
15
|
-
|
17
|
+
`"10hours"`という文字列は`10`という数値に変換されます。
|
18
|
+
|
19
|
+
1文字も数値がなければ`0`になります。(おかしいだろ1個目)
|
20
|
+
|
21
|
+
`"number_of_7"`を数値にキャストすると`0`になります。(おかしいだろ2個目)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
この辺の型変換周りの動作は言語毎に実装揺れがありますし、
|
26
|
+
|
27
|
+
PHP以外のあんな言語やこんな言語も想定外の糞挙動は結構あります。
|
16
28
|
|
17
29
|
|
18
30
|
|