2011-08-09 96 views
0

什麼是乾淨的方式轉換成一個數組,看起來像這樣的清潔方式: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) 

要一個數組,其中的關鍵是從上面的SITE_ID,所以上面的例子得到的陣列將是:

[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