我正在尝试用逗号分隔的字符串创建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?
答案 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
编码的数组发送到其他地方。在这种情况下,不需要任何implode
或explode
。
答案 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);
希望这能帮到你!