###前提・実現したいこと
PHPで配列の値の取り出しが上手く出来ません。
具体的には、下記のような配列を作成し
'group'の値が共通な'message'内のテキストを
表示させたいのですが、上手く出来ません。
<?php $color = array( 'aka' => array( 'group' => '1', 'message' => '赤です。' ) ); $color = array( 'ao' => array( 'group' => '2', 'message' => '青です。' ) ); $color = array( 'ki' => array( 'group' => '3', 'message' => '黄です。' ) ); $color = array( 'shiro' => array( 'group' => '1', 'message' => '白です。' ) ); $color = array( 'kuro' => array( 'group' => '2', 'message' => '黒です。' ) ); //groupが1のメッセージを表示する foreach ($color as $key => $message) { if (!isset($message['group']) || $message['group'] != '1') {//この辺の書き方に問題があるのかなと思いますが・・・ echo $message . PHP_EOL; } } ?>
~出力したいイメージ~
↓
赤です。
白です。
上記のような形でgroupの1を選択時、groupの1が含まれるメッセージの値が全て出力される。
同様にgroupの2を指定すれば、青です。黒です。としたいのですが
($color as $key => $member) や
if (!isset($member['group']) || $member['group'] != '1') を
書き換えて、試していますが、希望通りの出力が得られていません。
根本的に、配列の組み方がダメなのか、
そもそもforeachを使わず他のアプローチをとるべきなのか
迷走し始めてしまったので、質問をさせて頂きました。
良きアドバイスを頂けると大変助かります。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。