我有一个相当简单的问题,我一直无法找到解决方案.我想用mySQL专栏的内容填充一个数组.
基本上我有一个收集结果集的循环,我需要从这个结果集中取一个特定的列并将其放入一个数组中.
foreach ($results as $row){
$names = array();
$names[] = $row['name'];
};
假设结果集中有40个名称,它们现在应该都在$names数组中,但是当我尝试在屏幕上打印内容时,我只得到最后的结果:
echo $names[0]; or print_r($names);
我也尝试过:
while($row = mysql_fetch_array($results)) {
$names[] = $row['name'];
}
但是我已经有了foreach设置和工作,所以我不想引入另一个循环来填充数组.
我知道查询和循环都在工作,因为我可以直接通过放置来回显每个名称的值:
echo $row['name']
在循环中,看到结果名称打印在屏幕上.
解决方法:
尝试
$names = array();
foreach ($results as $row){
$names[] = $row['name'];
}
你在每个循环中重新声明$name到一个空白数组,删除你添加到它的项目.
标签:php,arrays,mysql
来源: https://codeday.me/bug/20190716/1480936.html