回答編集履歴

4

追記

2018/05/14 00:31

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  値が定義されていない変数の値はnullなので上記の検証コード上では「0」となります。
62
62
 
63
- 0のまま扱われるので
63
+ 0のまま扱われるので今回の現象が起きています。
64
64
 
65
65
 
66
66
 

3

修正

2018/05/14 00:31

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  つまり、キャストして変換するのではなく、入力値によってその後の処理を行うかどうかの入力値検証をされた方が、コードとしては理想かなと思います。
78
78
 
79
- 今回の場合ですと、```数値ではないもの・数値であっても0のものがあれば入力エラーとする``` 形ですね。
79
+ 今回の場合ですと、```数値ではないもの・数値であっても0あれば入力エラーとする``` 形ですね。
80
80
 
81
81
 
82
82
 

2

修正

2018/05/14 00:27

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  ```
46
46
 
47
- ※$d つまり配列の場合は値が何か設定されてれば「1」となります
47
+ ※$d つまり配列の場合は何か値が設定されてれば「1」となります
48
48
 
49
49
 
50
50
 
@@ -64,9 +64,9 @@
64
64
 
65
65
 
66
66
 
67
- あと定数を定義せずに利用しているので普通はNoticeレベルのエラーが出す。
67
+ あと定数を定義せずに利用しているのでNoticeレベルのエラーが出ているはずです。
68
68
 
69
- はじめの内は[エラー表示はOnに](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)しておきましょう。
69
+ はじめの内(また開発途中段階)は[エラー表示はOnに](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)しておきましょう。
70
70
 
71
71
 
72
72
 

1

修正

2018/05/14 00:27

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -18,11 +18,11 @@
18
18
 
19
19
 
20
20
 
21
- なぜキャストが問題かというと「ほぼどんな情報も数値として扱わせてしまう」からです。
21
+ なぜキャストが問題かというと「どんな情報も数値として扱わせてしまう」からです。
22
22
 
23
23
 
24
24
 
25
- 下記は全て出力結果は「0」となります。
25
+ 例として、下記は全て出力結果は「0」となります。
26
26
 
27
27
  ```php
28
28