Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对数组中以逗号分隔的表的所有ID进行排序_Php_Arrays_Pdo - Fatal编程技术网

Php 对数组中以逗号分隔的表的所有ID进行排序

Php 对数组中以逗号分隔的表的所有ID进行排序,php,arrays,pdo,Php,Arrays,Pdo,我想在数组中显示以逗号分隔的表的所有列的ID $select_client= "SELECT id FROM `table`"; $sql=$dbconn->prepare($select_client); $sql->execute(); $wlvd=$sql->fetchAll(PDO::FETCH_OBJ); foreach($wlvd as $rows); if($sql->rowCount() > 0){ foreach($wlvd as $row

我想在数组中显示以逗号分隔的表的所有列的ID

$select_client= "SELECT id FROM `table`";
$sql=$dbconn->prepare($select_client);
$sql->execute();
$wlvd=$sql->fetchAll(PDO::FETCH_OBJ);
foreach($wlvd as $rows);
if($sql->rowCount() > 0){
    foreach($wlvd as $rows){
        $id = $rows->id;
        $array_id= array($id);
        echo  $array_id;
    }
}
结果应该是这样的1,2,3,4


其中1,2,3,。。。是tabletable的id

您正在添加
$rows->id
到一个变量
$id
,然后将该变量添加到一个数组中,并立即回显该数组(这将是一个数组到字符串的转换)

您可以在每次迭代中添加到
$array\u id[]
。然后使用逗号获得所需字符串:

foreach($wlvd as $rows){
    $array_id[] = $rows->id;
}
echo implode(',', $array_id);

如果更改了获取数据的模式,则可以使用简单的数组函数处理结果,而不必将其从对象转换为循环中的数组

$select_client= "SELECT id FROM `table`";
$sql=$dbconn->prepare($select_client);
$sql->execute();
$wlvd=$sql->fetchAll(PDO::FETCH_COLUMN);    // Changed mode here 
echo implode(",", $wlvd);

虽然您可以使用PHP7+将
array\u column()
与对象一起使用。

通过
$id=$rows->id$数组_id=数组($id);echo$array\u id?为什么不干脆做
echo$rows->id<代码>按id排序
将对id进行排序。一些合理的代码缩进将是一个好主意。它帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最后您会感谢我。请注意,准备一个没有参数且只运行一次的查询没有多大意义。在这种情况下,一个简单的
->query()
就足够了。您可以执行
$select\u client=“select GROUP\u CONCAT(id)id FROM
table
我们的答案几乎是一样的:显然,有一个更好的答案需要提升。逻辑上的结论是对我的投反对票?不是我的反对票,但可能是吗,因为你的答案应该是一行?我的意思是
内爆(',',array_column($wlvd,'id')