「stdClass Object」を持つ配列で、特定キーが同じ値の数をカウントして新たにキーとして追加するにはどうすれば良いでしょうか?

PHP312閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

NEW! この回答はいかがでしたか? リアクションしてみよう

ThanksImg質問者からのお礼コメント

回答&アドバイスありがとうございます >連想配列のほうが使いやすいと思うんですが ・私もそう思います… ・最近stdClassの存在に気が付いたのですが使い方が良く分からないので、質問しました >そもそもこういう処理はSQL文一発で処理すべきです ・確かにその通りですね ・質問した時点では全く気が付きませんでした ・大変参考になりました!

お礼日時:2016/6/25 23:45

その他の回答(1件)

ID非表示

2016/6/25 2:53

$aに元データのオブジェクト配列が入っているものとして、 $temp = array(); foreach ($a as $obj) { $area = $obj->area; if (array_key_exists($area, $temp)) { $temp[$area]++; } else { $temp[$area] = 1; } } $a = array(); foreach ($temp as $area=>$num) { $a[] = (object) array( 'count' => $num, 'area' => $area ); } //結果表示 print_r($a); でどうでしょう。