2012-09-18 35 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