私は1つのhelp.Iが必要ですいくつかのキー値としてjsonデータを含む配列を並べ替える必要があります。私の配列を説明しています。PHPを使用してキー値ごとに配列データを並べ替える方法
$data=[
{device_type:"1",hit_type:"3",member_id:"96",name:"Gallery",rest_name:"Goro + Gun",summery_id:"22"},
{device_type:"1",hit_type:"1",member_id:"96",name:"Page",rest_name:"Goro + Gun",summery_id:"22"},
{device_type:"1",hit_type:"2",member_id:"96",name:"Map",rest_name:"Goro + Gun",summery_id:"22"},
{device_type:"1",hit_type:"2",member_id:"96",name:"Map",rest_name:"Goro + Gun",summery_id:"22"},
{device_type:"1",hit_type:"4",member_id:"90",name:"Phone",rest_name:"the livingroom",summery_id:"21"},
]
私は彼に上記のデータの配列を持っています。私はこれをmember_id
としてソートする必要があり、最終的に別の配列に保存する必要があるhit_type
とtotal hit
を数えます。予想される出力配列を以下に示します。
$result=[
{device_type:"1",member_id:"96",Page_hit:"1",Gallery_hit:"1",Map_hit:"2",Phone_hit:"0",Web_hit:"0",rest_name:"Goro + Gun",summery_id:"22",total_hit:"4"},
{device_type:"1",member_id:"90",Page_hit:"0",Gallery_hit:"0",Map_hit:"0",Phone_hit:"1",Web_hit:"0",rest_name:"the livingroom",summery_id:"21",total_hit:"1"}
]
上記は私の予想されるoutput.hit_typeは、member_idごとに常にカウントされ、表は以下のとおりです。
name type
Page 1
Map 2
Gallery 3
Phone 4
Web 5
私にこれをする手助けをしてください。
編集:コメントからの問合せ:
$sql = "
SELECT s.summery_id,
s.member_id,
s.hit_type,
s.device_type,
s.counter,
s.date,
r.rest_name,
h.NAME,
h.type
FROM db_analytics_summery AS s
LEFT JOIN db_hit_type AS h
ON s.hit_type = h.type
LEFT JOIN db_restaurant_basic AS r
ON s.member_id = r.member_id
ORDER BY s.summery_id DESC;
";
でそれを行うことができますが、それはデータベースからですか? – splash58
はい、DBから1番目の配列を取得できます。 – satya
私はこれを読んで、それがFAQ http://stackoverflow.com/questions/2699086/sort-multi-dimensional-array-by-valueの複製であると思っていましたが、データベースからデータを読み込んでそれをソートするのは非常に愚かです。ソートにはデータベースを使用します。 – symcbean