回答編集履歴

1

見直し

2021/05/06 09:47

投稿

退会済みユーザー
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