-1

こんにちは frnds 私は PHP を初めて使用するので、配列の変更でどこかで立ち往生していました。問題は、クエリの 1 つからデータベースへの配列を取得していることです。今、私は同じタイプの配列の配列をその数で形成しなければならない状況にあります。どのIDまたは名前を取得するかはわかりませんが、それらを一般的な名前の配列に変換する必要があり、取得した配列内のカウント数を使用してIDを取得する必要があります。

クエリから取得した配列 -

Array ( [0] => Array ( [type_id] => 1 [name] => VVIP ) [1] => Array ( [type_id] => 1 [name] => VVIP ) [2] => Array ( [type_id] => 2 [name] => Normal ) [3] => Array ( [type_id] => 2 [name] => Normal ) ) 

配列に変換

Array ( [0] => Array ( [type_id] => 1 [name] => VIP [count] => 2 ) [1] => Array ( [type_id] => 2 [name] => Normal [count] => 2 ) ) 
4

3 に答える 3

1

この配列はデータベースに由来するとおっしゃっていますが、データベースで数えることができますか?

SELECT type_id, name, count(*) FROM yourTable GROUP BY type_id, name;
于 2013-08-08T13:12:48.533 に答える
0

コードでカウントを行う必要がありますSQL。これは自動的に配列の一部になり、変換は必要ありません。

COUNT()あなたの友達はここを見て

于 2013-08-08T13:11:50.447 に答える
0
$out = array();
foreach ($arr as $key => $value){
    $dex = $value['type_id'];
    if (isset($out[$dex])){
        $out[$dex]['count']++;
    } else {
        $out[$dex] = $value;
        $out[$dex]['count'] = 1;
    }
}
$out = array_values($out); 
dump_r($out);

出力:

Array
(
    [0] => Array
        (
            [type_id] => 1
            [name] => VVIP
            [count] => 2
        )

    [1] => Array
        (
            [type_id] => 2
            [name] => Normal
            [count] => 2
        )

)
于 2013-08-09T09:15:47.913 に答える