在php中回显时创建类似数组的列表

时间:2016-08-17 12:13:30

标签: php arrays

我想从数据库回显我的结果,让它们看起来像一个数组。他们不一定必须是一个阵列,但看起来像一个。即当我回应我的结果时,

我希望我的最终结果看起来像

[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,]

4 个答案:

答案 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 ']';