如何用PHP+MySQL从表中取出categoryID值并以数组形式输出?
解决PHP中MySQL查询结果转为空格分隔字符串的问题
嘿,我看了你的代码,问题出在你把整个行关联数组都塞进$array里了,而不是单独提取categoryID的数值。咱们调整一下就能实现你要的“10 20 30”格式输出啦!
修改后的完整代码:
<?php include ("dbconnect.php"); $sql = "SELECT categoryID FROM post"; $result = mysqli_query($con, $sql); $array = array(); while($row = mysqli_fetch_assoc($result)) { // 只把categoryID的数值存入数组,而不是整个行数组 $array[] = $row['categoryID']; } // 用implode函数把数组元素用空格连接成字符串并输出 echo implode(' ', $array); ?>
关键修改点说明:
- 调整数组存储内容:原代码中
$array[] = $row;会把每个行的关联数组(比如['categoryID' => 10])存入数组,我们改成$array[] = $row['categoryID'];,这样数组里就直接是纯数值了。 - 使用
implode()格式化输出:implode(' ', $array)会把数组里的所有元素用空格作为分隔符拼接成一个字符串,正好符合你要的“10 20 30”格式。
如果担心没有查询结果的情况,也可以加个简单的判断,避免输出空内容:
if (!empty($array)) { echo implode(' ', $array); } else { echo "没有找到分类ID数据"; }
内容的提问来源于stack exchange,提问作者R.Agustin
相关产品推荐
相关产品推荐

