回答編集履歴

1

仕様をもっとわかりやすく修正

2017/11/16 09:50

投稿

miyabi-sun
miyabi-sun

スコア21158

test CHANGED
@@ -1,8 +1,8 @@
1
- 単純に数値文字比較た結果
1
+ 文字列から数値のキャストは1文字目から順に数字ていき
2
2
 
3
- `"10hours"`という文字`10`という数値に変換されます。
3
+ 先頭文字がスペース等の空白文字だった場合探索を継続しますが、数字以外が出た時点で探索打ち切り
4
4
 
5
- 1文字も数値がなければ`0`として取り扱われます。
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
- PHP作者「だって`"10h"``10`って評価したじゃん!ルール決めしたらこなった!」
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