2014-06-26 134 views
0

如何插入到数组新的键/值PHP

$arr = array(); 
while ($obj = mysql_fetch_object($result)) 
     $arr[] = $obj; 

// add new key/value in same index 
$arr['key'] = 'value'; 

echo json_encode ($arr); 

在这种结构不会导致像我需要

{ 
    0 =  { 
     author = 3; 
     id = 3; 
     reader = 3; 
     review = 4; 
    }; 
    key = "value"; 
} 

我需要:

{ 
    author = 3; 
    id = 3; 
    reader = 3; 
    review = 4; 
    key = "value"; 
} 
+1

如果只有1行,则只能获得所需的输出。 – AbraCadaver

回答

1

它看起来像你的查询只返回1行,所以你不需要while循环。

虽然第一件事,但请不要使用mysql_*。看看MySQLiPDO

这是你想要什么,而不是:

$db = new mysqli(/* host, user, pass, db */); 
$result = $db->query("SELECT * FROM aTable LIMIT 1"); 

$arr = $result->fetch_assoc(); 
$arr['key'] = 'value'; 

编辑:伊玛继续前进,迫使你使用的mysqli ...

+0

thx。我需要它! –

1

移动增值分配的代码进入死循环,如果您需要为结果数组的每个项添加一些键值对:

$arr = array(); 
while ($obj = mysql_fetch_object($result)) 
    $obj->key = 'value'; 
    $arr[] = $obj; 
}