我想从数据库回显我的结果,让它们看起来像一个数组。他们不一定必须是一个阵列,但看起来像一个。即当我回应我的结果时,
我希望我的最终结果看起来像
[10,200,235,390,290,250,250]
当我尝试以下代码时:
$query_rg = mysqli_query($link, "SELECT column FROM `table`");
$row_rg = mysqli_fetch_assoc($query_rg);
echo '[';
while ($row = mysqli_fetch_assoc($query_rg)) {
$list = $row['column'];
$listwithcoma = "$list,";
echo ltrim($listwithcoma,',');
}
echo ']'
结果是:
[10,200,235,390,290,250,250,]
答案 0 :(得分:4)
你做错了。 ltrim($listwithcoma,',')
无效。
ltrim - 从字符串的开头删除空格(或其他字符)
您可以使用implode
尝试一种简单的方式。
$list = array();
while ($row = mysqli_fetch_assoc($query_rg)) {
$list[] = $row['column'];
}
echo '[' . implode(',', $list) . ']';
答案 1 :(得分:4)
只需在查询中使用GROUP_CONCAT
$query_rg = mysqli_query($link, "SELECT GROUP_CONCAT(`column` SEPARATOR ', ') as data
FROM `table`");
$row_rg = mysqli_fetch_assoc($query_rg);
print_r($row_rg['data']);
答案 2 :(得分:3)
试试这个
$list = array(); //define a array.
while ($row = mysqli_fetch_assoc($query_rg)) {
$list[] = $row['column']; //store column value in array.
}
$lists = "[".implode(",",$list)."]";
echo $lists; //will echo your results.
答案 3 :(得分:2)
你应该使用rtrim()函数,它也不在循环之外。
$listwithcoma = '';
echo '[';
while ($row = mysqli_fetch_assoc($query_rg)) {
$list = $row['column'];
$listwithcoma .= "$list,";
// echo ltrim($listwithcoma,','); Remove this
}
echo rtrim($listwithcoma,','); // Add this
echo ']';