在php中动态构建json数组

Mik*_*ike 12 php json

我可以像这样创建简单的json对象:

$d = array('item' => "$name" ,'rate' => "$rating");
Run Code Online (Sandbox Code Playgroud)

但是,如果我想构建一个项目数组并动态地执行它,因为我从数据库查询构建它?

更新:

让我更具体一点,我知道我必须这样做:

$jsonCode = json_encode($d);
Run Code Online (Sandbox Code Playgroud)

这将创建一个带有项目和费率字段的json对象.但是当我编码它时,我想在json数组中有多个json对象.

我想要的json明智是这样的:

[{"item":"toy","rating":"baz" },{"item":"bike","rating":"2.3" }, {"item":"juice","rating":"1.3" }]
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 25

但是当我编码它时,我想在json数组中有多个json对象.

然后创建一个数组数组并将其传递给json_encode.有关数组文档说明了如何向数组添加元素,请参阅使用方括号语法创建/修改部分.

关联数组(如您已有的数组)将被编码为对象,"普通"数组(具有连续数字键的数组)将被编码为数组.

例:

$d = array();

// This appends a new element to $d, in this case the value is another array
$d[] = array('item' => "$name" ,'rate' => "$rating");

$json = json_encode($d);
Run Code Online (Sandbox Code Playgroud)


Bar*_*mar 9

这将从您的数据库查询创建一个多维数组,然后将其编码为JSON.

$d = array();
while ($row = $stmt->fetch_assoc()) {
  $d[] = $row;
}
$json = json_encode($d);
Run Code Online (Sandbox Code Playgroud)

每个$row都是数据库返回的数据的关联数组.分配它以$d[]将其添加为该容器数组的索引元素.