2012-09-18 89 views
0

我似乎無法得到我需要的結果。這是因爲它是由SQL查詢提供的陣列:如何將mysql數組結果轉換爲json編碼的新數組

Array (
[0] => Array ( 
    [id] => 7 
    [description] => Accepted) 
[1] => Array ( 
    [id] => 8 
    [description] => Declined) 
[2] => Array (
    [id] => 11 
    [description] => Deferred) 
    ) 

這裏是我是如何把它的foreach上面列出的對象的格式:

['7'][‘7’] = 「Accepted」; 
['7'][‘8’] = 「Declined 」; 
['7'][‘11’] = 「Deferred」; 

...其中第一個數組['7']是每個對象所需的附加值。

似乎很容易,但在foreach語句,我創建返回錯誤「無法使用標量值作爲數組」

+1

讓我們看看一些代碼.. – wesside

回答

2
$rows = /*Your Data above*/ 
$data = array('7'=>array()); 
foreach($rows as $row) 
    $data['7'][$row['id']] = $row['description']; 

$jsonData = json_encode($data); 

可能會得到「呃做

+0

關閉,但不完全:{「7」:{「7」:「接受」,「8」:「拒絕」,「11」:「延遲」}} – Patrick

+0

對我來說這看起來是正確的。您不會將它顯示爲{{「7」:{「7」:「Accepted」}},{「7」:{「8」:「Declined」}},{「7」:{「11」 「推遲,但接受」}}},因爲索引7在元素中很常見。當'json_encoded –

+0

陷入困境時,'7'索引只會顯示一次。你是對的。我只是在考慮那件事。謝謝,老兄...... :) – Patrick