php结果为json对象

时间:2015-03-10 10:29:31

标签: php json

我有一个名为“updates”的数据库表,其中包含分别为“int”和“text”类型的字段“id”和“post”。现在我正在检索所有帖子,如下所示:

$result = mysqli_query($con,"SELECT post FROM updates");
while($row=mysqli_fetch_row($result)){
$postsarray[] = $row;
}

现在我想将此数组转换为JSON数组,如下所示:

{
    "posts":[{
            "post1",
            "post2",
            ..
            }]
}

我尝试了很多方法,但却无法做到。 任何人都可以帮我这样做吗?

2 个答案:

答案 0 :(得分:2)

$result = mysqli_query($con,"SELECT post FROM updates");
while($row=mysqli_fetch_row($result)){
    $postsarray[] = $row[0];
}
$arr = array();
$arr['posts'] = $postsarray;
$json = json_encode($arr);

mysqli_fetch_row本身返回一个数组(行),因此在添加到$postsarray时必须得到第一个元素。

答案 1 :(得分:0)

PHP json_encode函数将传递给它的数据转换为JSON字符串,然后可以将其输出到JavaScript变量。我们在此页面上演示了单级数组。其他页面演示了使用json_encode多维数组和标量值。

PHP json_encode函数返回一个字符串,其中包含传递给它的值的JSON等效值,正如我们在这里用数字索引数组所示:

<?php
$ar = array('apple', 'orange', 'banana', 'strawberry');
echo json_encode($ar); // ["apple","orange","banana","strawberry"]
?>