您好我需要在数组中添加一些值键对,这是mysql查询的输出。以下是代码,
$query = "select TITLE,DESCRIPTION from TABLE where ID='1234'";
$result = mysqli_query($conn, $query);
$numrows = mysqli_num_rows($result);
if($numrows>0)
{
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$myArray[] = $row;
}
}
echo json_encode($myArray);
给我结果如
[{"TITLE":"Special","DESCRIPTION":"This is DESCRIPTION."}]
现在我需要添加另一个键值对来生成json输出,如
[{"TITLE":"Special","DESCRIPTION":"This is DESCRIPTION.","URL":"imgname.jpg"}]
所以我添加了代码
$myArray["URL"]="imgname.jpg";
echo json_encode($myArray);
但是给我输出像,
{"0":{"TITLE":"Chef Special","DESCRIPTION":"Grilled Salmon and crab."},"URL":"imgname.jpg"}
上面的代码有什么问题。
答案 0 :(得分:3)
使用
检查您的数据var_dump($myArray);
你会发现它是一个二维数组。您必须使用
添加数据$myArray[0]["URL"] = "imgname.jpg";
答案 1 :(得分:1)
如果您必须在编码后添加,请反过来:
$a = json_decode($myArray,true)
使用$a['URL'] = "imgname.jpg"
添加一对新的键值,然后重新编码。