回答編集履歴
4
追記
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
修正
test
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
つまり、キャストして変換するのではなく、入力値によってその後の処理を行うかどうかの入力値検証をされた方が、コードとしては理想かなと思います。
|
78
78
|
|
79
|
-
今回の場合ですと、```数値ではないもの・数値であっても0
|
79
|
+
今回の場合ですと、```数値ではないもの・数値であっても0であれば入力エラーとする``` 形ですね。
|
80
80
|
|
81
81
|
|
82
82
|
|
2
修正
test
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
```
|
46
46
|
|
47
|
-
※$d つまり配列の場合は値が
|
47
|
+
※$d つまり配列の場合は何か値が設定されていれば「1」となります
|
48
48
|
|
49
49
|
|
50
50
|
|
@@ -64,9 +64,9 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
-
あと定数を定義せずに利用しているので
|
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
修正
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
|
|