回答編集履歴
3
edit
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
一応[count()](https://www.php.net/manual/ja/function.count.php)でのチェックも入れておけば
|
30
30
|
|
31
|
-
想定の形
|
31
|
+
想定の形と担保もできなくはないです。
|
32
32
|
|
33
33
|
|
34
34
|
|
2
edit
test
CHANGED
@@ -1,4 +1,34 @@
|
|
1
|
-
|
1
|
+
> 空で送信→offsetエラー
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
listに割り当てるだけのデータができません。
|
6
|
+
|
7
|
+
```php
|
8
|
+
|
9
|
+
<?php
|
10
|
+
|
11
|
+
list($Y, $m, $d) = explode('-', "");
|
12
|
+
|
13
|
+
```
|
14
|
+
|
15
|
+
[list()](https://www.php.net/manual/ja/function.list.php)
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
nullでないこと、空でないこと など事前のチェックが必要。
|
20
|
+
|
21
|
+
省略できない引数がある機能を使うときは絶対に必要。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
むしろ、前提が必要なlist()に割り当てるのは不適当な仕様ではないでしょうか。
|
26
|
+
|
27
|
+
普通に受け取って添え字0からのアクセスをしたほうが良いと思います。
|
28
|
+
|
29
|
+
一応[count()](https://www.php.net/manual/ja/function.count.php)でのチェックも入れておけば
|
30
|
+
|
31
|
+
想定の形でないと担保もできなくないです。
|
2
32
|
|
3
33
|
|
4
34
|
|
@@ -30,8 +60,36 @@
|
|
30
60
|
|
31
61
|
test("a");
|
32
62
|
|
63
|
+
```
|
33
64
|
|
65
|
+
|
66
|
+
|
67
|
+
上記の通り、checkdate()は引数が数字である前提で組まれている機能なので、その前提を全てクリアしたうえでのチェックをしないとWarningが消えることはないです。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
想定しているフォーマットがあるのでしたらdate()でチェックしたほうがいいのでは?
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
```php
|
76
|
+
|
77
|
+
if($birth != null && $date !== date('Y-n-j',strtotime($birth))){
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
}
|
34
82
|
|
35
83
|
|
36
84
|
|
37
85
|
```
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
[empty()](https://www.php.net/manual/ja/function.empty.php)は0もtrueになるので注意が必要。
|
90
|
+
|
91
|
+
filter_input()利用しているのであれば、nullでなければフォーマットチェックに通しても差し支えないと思います。
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
参考にした記事も6年前の個人の記事なので、全然参考にできません。
|
1
edit
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# 途中で送信してしまったので編集中
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
> あああなど、文字列を送信→Warning: checkdate() expects parameter 3 to be intエラー
|
2
6
|
|
3
7
|
|
@@ -12,11 +16,19 @@
|
|
12
16
|
|
13
17
|
|
14
18
|
|
15
|
-
型宣言で引数の型が指定されているためのエラー。
|
19
|
+
[型宣言](https://www.php.net/manual/ja/language.types.declarations.php)で引数の型が指定されているためのエラー。
|
16
20
|
|
17
21
|
|
18
22
|
|
23
|
+
ミニマムコード
|
24
|
+
|
19
25
|
```php
|
26
|
+
|
27
|
+
<?php
|
28
|
+
|
29
|
+
function test(int $a){}
|
30
|
+
|
31
|
+
test("a");
|
20
32
|
|
21
33
|
|
22
34
|
|