2011-08-09 8 views
0

変換のきれいな方法:キーが上からSITE_IDある配列へPHP:配列のようになります配列に変換するクリーンな方法は何ですか

[584] => Array ([link_id] => 1 [site_id] => 5  [COUNT(*)] => 2) 
[585] => Array ([link_id] => 243 [site_id] => 5  [COUNT(*)] => 2) 
[586] => Array ([link_id] => 522 [site_id] => 89223 [COUNT(*)] => 3) 

を、上記の例のためにそう結果の配列は次のようになります。

[5] => Array(1, 2, 243, 2) //Even ones and 0 are link_id, odd ones are count(*) 
[89223] => Array(522, 3) 

したがって、基本的にはsite_idでグループ化します。私はまだlink_idとcount(*)の間の関係を維持する必要があります。上記の場合、私はポジション(0と1が一緒になって2と3などです)でそれをやっていますが、私は新しい構造にも開いています。

ありがとうございます!

+0

簡単に読みやすさのために、あなたのコードサンプルをフォーマットしてください。 –

+0

あなたはすでにどのようなコードをお持ちですか? – Arjan

+0

あなたがしていることは間違っています。これに答えるのではなく、あなたがしようとしていることを説明できますか? – Xeoncross

答えて

3

このような意味ですか? (Demo):

$out = array(); 
foreach($input as $v) 
{ 
    $site_id = $v['site_id']; 
    unset($v['site_id']); 
    $out[$site_id][] = $v; 
} 

それとも、お互いの後に(Demo)の値のペアを好む場合:

... 
    unset($v['site_id']); 
    $out[$site_id][] = array_shift($v); 
    $out[$site_id][] = array_shift($v); 
} ... 
+0

完璧、ありがとう! – luqita

関連する問題