[PHP-users 35194] Re: 多次元配列からのデータ抽出について

macindows @ forest.ocn.ne.jp macindows @ forest.ocn.ne.jp
2010年 5月 20日 (木) 20:53:15 JST


増田です。なぜか投稿できていなかったので、違うスレッドで投稿させて頂きます。
自己レスで申し訳ありませんが、大体解決しました。

----- 元のメッセージ -----
From: macindows @ forest.ocn.ne.jp
To: php-users @ php.gr.jp
送信済み: 2010年5月20日, 木曜日 午後 7:35:07 GMT+09:00日本
件名: [PHP-users 35193] 多次元配列からのデータ抽出について


>$filter = create_function('$ep_remark_data', 'return $ep_remark_data["ep_remark_flag"] == 9 && $ep_remark_data[ep_user_id]==1234;');
>$filter_remark = array_filter($ep_remark_data, "filter");

としてfunctionを使うのがやはり気になったので、

>一応配列ですので、
>foreach($ep_remark_data as $ep_remark){
>  if($ep_remark['ep_remark_flag']==9){
>    $filter_remark=$ep_remark;
>  }
>}
こちらを見なおしたところ、
$filter_remark=$ep_remark;
として上書きしてました。。。


foreach($ep_remark_data as $ep_remark){
//print_r($ep_remark);
  if($ep_remark['ep_remark_flag']==9&&$ep_remark['ep_user_id']!=$id){
    $filter_remark[]=$ep_remark;
  }
}
print_r($filter_remark);

とすれば、$idのように変数も使え、配列にデータが収まりますので、いい感じにおさまってくれました。
これなら、$idを複数指定して分岐するときも、idを配列に入れて、そのうえでif文なども可能そうなので、
ちょっと試してみます。

もし、まだ何かよい書き方などありましたら、後学のためご教授いただけると嬉しく思います。
宜しくお願い致します。


増田


PHP-users メーリングリストの案内