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

回答編集履歴

1

1

2017/07/10 11:07

投稿

takasima20
takasima20

スコア7468

answer CHANGED
@@ -1,4 +1,57 @@
1
1
  $color に最後の黒部分しか(最終的には)設定されないからスね。
2
2
  現状のままなら kei344 さんの回答された通りですが、
3
3
  group の重複があるかなしかでまた違った方式が
4
- とれるかもしれません。
4
+ とれるかもしれません。
5
+ --- 追記 ---
6
+ たとえば、こんなかんじ
7
+ ```PHP
8
+ $color = array(
9
+ array(
10
+ 'name' => 'aka',
11
+ 'group' => '1',
12
+ 'message' => '赤です。'),
13
+ array(
14
+ 'name' => 'ao',
15
+ 'group' => '2',
16
+ 'message' => '青です。'),
17
+ array(
18
+ 'name' => 'ki',
19
+ 'group' => '3',
20
+ 'message' => '黄です。'),
21
+ array(
22
+ 'name' => 'shiro',
23
+ 'group' => '1',
24
+ 'message' => '白です。'),
25
+ array(
26
+ 'name' => 'kuro',
27
+ 'group' => '2',
28
+ 'message' => '黒です。'));
29
+
30
+ //groupが1のメッセージを表示する
31
+ foreach ($color as $ar) {
32
+ if ($ar['group'] == '1') {
33
+ echo $ar['message'] . PHP_EOL;
34
+ }
35
+ }
36
+ ```
37
+ もしくは、こんなかんじ
38
+ ```PHP
39
+ $color = array(
40
+ '1' => array(
41
+ array('name' => 'aka', 'message' => '赤です。'),
42
+ array('name' => 'shiro', 'message' => '白です。')),
43
+ '2' => array(
44
+ array('name' => 'ao', 'message' => '青です。'),
45
+ array('name' => 'kuro', 'message' => '黒です。')),
46
+ '3' => array(
47
+ array('name' => 'ki', 'message' => '黄です。')));
48
+
49
+ //groupが1のメッセージを表示する
50
+ $group = '1';
51
+ if (!empty($color[$group])) {
52
+ foreach ($color[$group] as $ar) {
53
+ echo $ar['message'] . PHP_EOL;
54
+ }
55
+ }
56
+ ```
57
+ が自分の好みですかねえ。