回答編集履歴
2
最初にしていた回答の再記載と、どのように違う結果になるかの詳細を書き加えました。
answer
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
`$_POST['hoge']`などに何かしら値がある場合、を判定するのであれば、下記で良いと思います。
|
4
4
|
|
5
|
-
※ `$_POST['hoge']`に空文字列`''`が入った場合はfalse判定になってしまうので、issetではなく! emptyを使うよう修正しました。
|
6
|
-
|
7
5
|
```PHP
|
8
6
|
if(! empty($_POST['hoge']) or ! empty($_POST['piyo'])) {
|
9
7
|
updated_spamham_info($_POST['id'], $_POST['hoge'], $_POST['piyo']);
|
@@ -19,4 +17,17 @@
|
|
19
17
|
if($hoge or $piyo){
|
20
18
|
updated_spamham_info($_POST['id'], $hoge, $piyo);
|
21
19
|
}
|
22
|
-
```
|
20
|
+
```
|
21
|
+
|
22
|
+
### 追記
|
23
|
+
最初に回答した際、下記の様に記載しておりました。
|
24
|
+
```PHP
|
25
|
+
if(isset($_POST['hoge']) or isset($_POST['piyo'])) {
|
26
|
+
updated_spamham_info($_POST['id'], $_POST['hoge'], $_POST['piyo']);
|
27
|
+
}
|
28
|
+
```
|
29
|
+
|
30
|
+
これはこれで同じような動作になるのですが、
|
31
|
+
`$_POST['hoge']` と `$_POST['piyo']` 両方に空文字列(`''`) が入った場合、
|
32
|
+
trueと判定され、結果として**関数が実行されます。** (isset関数はnull以外はtrueを返すため)
|
33
|
+
これは元のロジックと異なる動作となるので、`! empty` を利用した書き方に修正させていただきました。
|
1
判定方法の1つ目に、元のコードと条件が変わってしまう部分があったのでisset -> ! emptyに修正しました。
answer
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
変数が存在しない場合の警告を回避出来るのは [empty()](https://www.php.net/manual/ja/function.empty.php) [isset()](https://php.net/manual/ja/function.isset.php) といったものがあります。
|
2
2
|
|
3
|
-
`$_POST['hoge']`などに
|
3
|
+
`$_POST['hoge']`などに何かしら値がある場合、を判定するのであれば、下記で良いと思います。
|
4
4
|
|
5
|
+
※ `$_POST['hoge']`に空文字列`''`が入った場合はfalse判定になってしまうので、issetではなく! emptyを使うよう修正しました。
|
6
|
+
|
5
7
|
```PHP
|
6
|
-
if(
|
8
|
+
if(! empty($_POST['hoge']) or ! empty($_POST['piyo'])) {
|
7
9
|
updated_spamham_info($_POST['id'], $_POST['hoge'], $_POST['piyo']);
|
8
10
|
}
|
9
11
|
```
|