回答編集履歴
1
見直し
test
CHANGED
@@ -5,6 +5,30 @@
|
|
5
5
|
逆に学習のじゃまになりかねないので、
|
6
6
|
|
7
7
|
PHP7対応ではない本は捨てたほうがいいです。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
> やったことは Qiitaの方でempty()関数を使うなどが説明されていましたが、今回のプロジェクトの場合はセッションも絡んでおり、またintval()関数を用いて整数型に変換することもあり違うかなと思いました。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
empty()ではなくisset()の方をおすすめします。
|
16
|
+
|
17
|
+
empty()は0や空文字列やfalseを与えてもtrueを返してしまい、存在確認として不適切です。
|
18
|
+
|
19
|
+
詳しくは:
|
20
|
+
|
21
|
+
[PHP isset, empty, is_null の違い早見表 - Qiita](https://qiita.com/shinichi-takii/items/00aed26f96cf6bb3fe62)
|
22
|
+
|
23
|
+
[【PHP】isset()とempty()の違いとは?【解説】|プログラミングを知るはプログラミングを行うに如かず](https://programming-jissen.com/difference-between-isset-and-empty/)
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
また、フォームを受信するときは必ず文字列として受信します。
|
28
|
+
|
29
|
+
0をフォーム受信したときは数字のゼロではなく文字列としてのゼロ「0」です。
|
30
|
+
|
31
|
+
なので、intval()するのは正しいですし、最近の言語仕様としては[型キャスト](https://www.php.net/manual/ja/language.types.type-juggling.php#language.types.typecasting)を使うのもありです。
|
8
32
|
|
9
33
|
|
10
34
|
|