teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正

2020/06/05 14:51

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -3,6 +3,7 @@
3
3
  それに「ifの結果」って、「ifの条件式の真偽」だけですよ。true/falseだけ。
4
4
 
5
5
  きっと大喜利なので、ざっと出しておきます。
6
+ ※あくまで「1つの目的を達成するための手段は1つではない」ということ
6
7
  ```php
7
8
  <?php
8
9
  $num = rand(1,5);

3

修正

2020/06/05 14:51

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -95,4 +95,42 @@
95
95
  echo $res;
96
96
  ```
97
97
 
98
+
99
+ > それに「ifの結果」って、「ifの条件式の真偽」だけですよ。true/falseだけ。
100
+
101
+ にも言及しておきます。
102
+ ```php
103
+ <?php
104
+ $num = rand(1,5);
105
+ var_dump(($num==1));
106
+ var_dump(($num==2));
107
+ var_dump(($num==3));
108
+ var_dump(($num==4));
109
+ var_dump(($num==5));
110
+ ```
111
+
112
+ 「試したことっぽい」ことやろうと思ったら[無名関数](https://www.php.net/manual/ja/functions.anonymous.php)ですかね。
113
+
114
+ ```php
115
+ <?php
116
+ $num = rand(1,5);
117
+ $func = function($i){
118
+ if($i===1){
119
+ return '大吉';
120
+ }elseif($i===2){
121
+ return '中吉';
122
+ }elseif($i===3){
123
+ return '小吉';
124
+ }elseif($i===4){
125
+ return '吉';
126
+ }else{
127
+ return '凶';
128
+ }
129
+ };
130
+
131
+ $res = $func($num);
132
+ echo $res;
133
+ ```
134
+
135
+
98
136
  本件とは関係ないですけど、[結構あるんですね](https://ja.wikipedia.org/wiki/%E5%90%89%E5%87%B6)。

2

修正

2020/06/05 14:34

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,3 +1,98 @@
1
1
  echoせずに普通に変数にそれぞれ代入するか、関数化してreturnすれば良いのでは。
2
2
 
3
- それに「ifの結果」って、「ifの条件式の真偽」だけですよ。true/falseだけ。
3
+ それに「ifの結果」って、「ifの条件式の真偽」だけですよ。true/falseだけ。
4
+
5
+ きっと大喜利なので、ざっと出しておきます。
6
+ ```php
7
+ <?php
8
+ $num = rand(1,5);
9
+ if($num===1){
10
+ $res = '大吉';
11
+ }elseif($num===2){
12
+ $res = '中吉';
13
+ }elseif($num===3){
14
+ $res = '小吉';
15
+ }elseif($num===4){
16
+ $res = '吉';
17
+ }else{
18
+ $res = '凶';
19
+ }
20
+
21
+ echo $res;
22
+
23
+ ```
24
+ ```php
25
+ <?php
26
+ function result(int $i){
27
+ if($i===1){
28
+ return '大吉';
29
+ }elseif($i===2){
30
+ return '中吉';
31
+ }elseif($i===3){
32
+ return '小吉';
33
+ }elseif($i===4){
34
+ return '吉';
35
+ }else{
36
+ return '凶';
37
+ }
38
+ }
39
+
40
+ $num = rand(1,5);
41
+ $res = result($num);
42
+
43
+ echo $res;
44
+
45
+ ```
46
+
47
+ ```php
48
+ <?php
49
+ function result(int $i){
50
+ $res = '外れ';
51
+ switch($i){
52
+ case 1:
53
+ $res = '大吉';
54
+ break;
55
+ case 2:
56
+ $res = '中吉';
57
+ break;
58
+ case 3:
59
+ $res = '小吉';
60
+ break;
61
+ case 4:
62
+ $res = '吉';
63
+ break;
64
+ default:
65
+ $res = '凶';
66
+
67
+ }
68
+ return $res;
69
+ }
70
+
71
+ $num = rand(1,5);
72
+ $res = result($num);
73
+
74
+ echo $res;
75
+ ```
76
+ ```php
77
+ <?php
78
+ function result(int $i){
79
+ $results = [
80
+ 1=>'大吉'
81
+ ,2=>'中吉'
82
+ ,3=>'小吉'
83
+ ,4=>'吉'
84
+ ];
85
+
86
+ if(array_key_exists($i,$results)){
87
+ return $results[$i];
88
+ }
89
+ return '凶';
90
+ }
91
+
92
+ $num = rand(1,5);
93
+ $res = result($num);
94
+
95
+ echo $res;
96
+ ```
97
+
98
+ 本件とは関係ないですけど、[結構あるんですね](https://ja.wikipedia.org/wiki/%E5%90%89%E5%87%B6)。

1

edit

2020/06/05 14:29

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  echoせずに普通に変数にそれぞれ代入するか、関数化してreturnすれば良いのでは。
2
2
 
3
- それに「ifの結果」って、「ifの条件式の可否」だけですよ。true/falseだけ。
3
+ それに「ifの結果」って、「ifの条件式の真偽」だけですよ。true/falseだけ。