我有一个mysql数据库,我想把它改成json格式,结果如下图
["aaa","bbb","ccc"]
但是当我使用 PHP 编写如下代码时
<?php
require_once("../con.php");
$list = mysqli_query($con,"SELECT * FROM user WHERE reff='admin'");
$r = array();
while($data = mysqli_fetch_array($list)) {
$r[] = array($data['username']);
}
echo json_encode($r, JSON_PRETTY_PRINT);
?>
结果和我想要的不一样,如下结果
[ [ "aaa" ], [ "bbb" ], [ "ccc" ] ]
有什么解决办法吗?
最佳答案
最好的方法是 $r[] = $data['username'];
而不是 $r[] = array($data['username']);
因为这一行 $r[] = array($data['username']);
你试图将用户名作为 array 而不是用户名string 每次在您的 $r
上的值,这就是为什么它会在您的用户名值周围创建额外的括号 []
。
但是如果您不想更改现有代码,那么您可以使用它来通过这行额外的代码 $r = array_merge(...$r)
获得预期的结果,这里 ...
被称为 splat 运算符
关于php - 将Mysql数据库转换成Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618781/