回答編集履歴

5

見直し

2021/05/26 09:25

投稿

退会済みユーザー
test CHANGED
@@ -34,6 +34,8 @@
34
34
 
35
35
  ```php
36
36
 
37
+ <?php
38
+
37
39
  $flag = 0; // 1とか2とか
38
40
 
39
41
 
@@ -46,7 +48,7 @@
46
48
 
47
49
 
48
50
 
49
- if ($flag == 1) :
51
+ if ($flag === 1) :
50
52
 
51
53
  ?>
52
54
 
@@ -54,7 +56,7 @@
54
56
 
55
57
  <?php
56
58
 
57
- elseif ($flag == 2) :
59
+ elseif ($flag === 2) :
58
60
 
59
61
  ?>
60
62
 
@@ -67,3 +69,9 @@
67
69
  ```
68
70
 
69
71
  などとしてもいい。
72
+
73
+
74
+
75
+ ただし、その場合分けしたhtmlのボリュームが何十行にも渡る場合、
76
+
77
+ 可読性が下がるため、用心するべき。

4

見直し

2021/05/26 09:25

投稿

退会済みユーザー
test CHANGED
@@ -38,6 +38,14 @@
38
38
 
39
39
 
40
40
 
41
+ /*
42
+
43
+ なんやかんやで、何かの処理で $flag に 1 だったり 2 だったりを代入する処理があるとして
44
+
45
+ */
46
+
47
+
48
+
41
49
  if ($flag == 1) :
42
50
 
43
51
  ?>

3

見直し

2021/05/26 09:22

投稿

退会済みユーザー
test CHANGED
@@ -21,3 +21,41 @@
21
21
 
22
22
 
23
23
  [exit](https://www.php.net/manual/ja/function.exit.php)かな?
24
+
25
+
26
+
27
+ 素のphpなんて、ゆるい言語なので、どうとでもなる、好きにできる、
28
+
29
+ という元も子もない回答では納得しないでしょうけど、
30
+
31
+ 表示制御用フラグ変数による分岐でやってもいいわけです。
32
+
33
+
34
+
35
+ ```php
36
+
37
+ $flag = 0; // 1とか2とか
38
+
39
+
40
+
41
+ if ($flag == 1) :
42
+
43
+ ?>
44
+
45
+ 1のときのみのHTML
46
+
47
+ <?php
48
+
49
+ elseif ($flag == 2) :
50
+
51
+ ?>
52
+
53
+ 2のときのみのHTML
54
+
55
+ <?php
56
+
57
+ endif;
58
+
59
+ ```
60
+
61
+ などとしてもいい。

2

見直し

2021/05/26 09:21

投稿

退会済みユーザー
test CHANGED
@@ -9,3 +9,15 @@
9
9
  後段のhtml出力箇所をシンプルにするために、
10
10
 
11
11
  前倒しして必要な処理(変数の宣言、初期化、出力用文字列の代入など)をやっておくもの。
12
+
13
+
14
+
15
+ ---
16
+
17
+
18
+
19
+ > この条件を満たす場合のみ、ここまでのコードで処理を終了させたい(後に続くHTMLコードを表示させたくない)のですが、どうすれば良いのでしょうか。
20
+
21
+
22
+
23
+ [exit](https://www.php.net/manual/ja/function.exit.php)かな?

1

見直し

2021/05/26 09:17

投稿

退会済みユーザー
test CHANGED
@@ -1 +1,11 @@
1
+ yambejpさんが回答しているとおりだけど、
2
+
3
+ 後段のhtml出力箇所で使うための変数をphpコードの冒頭で初期化しないといけなくて、
4
+
1
- 質問つけ[回答](https://teratail.com/questions/340401#reply-468379)を参照
5
+ if() { ~ } { ~ } の内側だけ記述してしまうと、ifの条件が成り立なかったときに変数が存在しないケースが出てしまうのでアウト
6
+
7
+
8
+
9
+ 後段のhtml出力箇所をシンプルにするために、
10
+
11
+ 前倒しして必要な処理(変数の宣言、初期化、出力用文字列の代入など)をやっておくもの。