如何从数组创建逗号分隔列表并返回为json enode数组

时间:2016-10-26 10:26:03

标签: php mysql

我正在尝试用逗号分隔的字符串创建JSON。现在我的代码是这样的

 $sql="select Pri_name from nri_privilege";
 $getvalue=mysqli_query($mysqli,$sql);
 while($result=mysqli_fetch_assoc($getvalue))
 {
      $getallresults[]=$result;
 }
 foreach($getallresults as $rereult)
 {       
    print_r($rereult);
    name =$rereult['Pri_name'];
    name .=$name .',';
    //echo $name;
    //echo json_encode($name);
 }

我从数据库中获取数据并将其循环到foreach中。如何用逗号分隔的字符串创建JSON?

3 个答案:

答案 0 :(得分:2)

根据您帖子的标题,这可以完成您所描述的内容。

$array = ["foo", "bar", "bat"]; //some array form e.g. db
$glued = implode(",", $array); //implode it with ,
$json  = json_encode($glued); //and json encode it

我认为你真正想要的是:

$array = ["foo", "bar", "bat"]; //some array form e.g. db
$json  = json_encode($array); //json encode the array without step 2. 

猜猜你想通过网络将json编码的数组发送到其他地方。在这种情况下,不需要任何implodeexplode

答案 1 :(得分:-1)

试试这个

$sql="select Pri_name from nri_privilege";
$getvalue=mysqli_query($mysqli,$sql);

while($result=mysqli_fetch_assoc($getvalue))
{
  $getallresults[]=$result['Pri_name'];
}

echo json_encode($getallresults);

答案 2 :(得分:-1)

您最好不要手动附加,。试试这个,

$names = array();
foreach($getallresults as $rereult){
    $names[] = $rereult['Pri_name'];
}

然后,

$comma_seperated_list = implode(", ", names);

如果您希望上面的字符串是json编码的,

json_encode($comma_seperated_list);

否则你可以编码整个名称数组,如

json_encode($names);

希望这能帮到你!