回答編集履歴

2

最初にしていた回答の再記載と、どのように違う結果になるかの詳細を書き加えました。

2019/05/14 11:25

投稿

Eggpan
Eggpan

スコア2727

test CHANGED
@@ -3,10 +3,6 @@
3
3
 
4
4
 
5
5
  `$_POST['hoge']`などに何かしら値がある場合、を判定するのであれば、下記で良いと思います。
6
-
7
-
8
-
9
- ※ `$_POST['hoge']`に空文字列`''`が入った場合はfalse判定になってしまうので、issetではなく! emptyを使うよう修正しました。
10
6
 
11
7
 
12
8
 
@@ -41,3 +37,29 @@
41
37
  }
42
38
 
43
39
  ```
40
+
41
+
42
+
43
+ ### 追記
44
+
45
+ 最初に回答した際、下記の様に記載しておりました。
46
+
47
+ ```PHP
48
+
49
+ if(isset($_POST['hoge']) or isset($_POST['piyo'])) {
50
+
51
+ updated_spamham_info($_POST['id'], $_POST['hoge'], $_POST['piyo']);
52
+
53
+ }
54
+
55
+ ```
56
+
57
+
58
+
59
+ これはこれで同じような動作になるのですが、
60
+
61
+ `$_POST['hoge']` と `$_POST['piyo']` 両方に空文字列(`''`) が入った場合、
62
+
63
+ trueと判定され、結果として**関数が実行されます。** (isset関数はnull以外はtrueを返すため)
64
+
65
+ これは元のロジックと異なる動作となるので、`! empty` を利用した書き方に修正させていただきました。

1

判定方法の1つ目に、元のコードと条件が変わってしまう部分があったのでisset -> ! emptyに修正しました。

2019/05/14 11:25

投稿

Eggpan
Eggpan

スコア2727

test CHANGED
@@ -2,13 +2,17 @@
2
2
 
3
3
 
4
4
 
5
- `$_POST['hoge']`などにnull入らないのであれば、下記で良いと思います。
5
+ `$_POST['hoge']`などに何かしら値ある場合、を判定するのであれば、下記で良いと思います。
6
+
7
+
8
+
9
+ ※ `$_POST['hoge']`に空文字列`''`が入った場合はfalse判定になってしまうので、issetではなく! emptyを使うよう修正しました。
6
10
 
7
11
 
8
12
 
9
13
  ```PHP
10
14
 
11
- if(isset($_POST['hoge']) or isset($_POST['piyo'])) {
15
+ if(! empty($_POST['hoge']) or ! empty($_POST['piyo'])) {
12
16
 
13
17
  updated_spamham_info($_POST['id'], $_POST['hoge'], $_POST['piyo']);
14
18