Php 对数组中以逗号分隔的表的所有ID进行排序
我想在数组中显示以逗号分隔的表的所有列的IDPhp 对数组中以逗号分隔的表的所有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
$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')代码>