我有下面的PHP,当位置数组只有1个值时效果很好,但是当它有任何数字大于1时,第一个位置的信息会将打印空白。通过在逗号分隔的列表上调用explode
来设置数组。当我在循环之前立即手动设置数组时,它工作得很好!然而,当我使用explode
时,即使我打印了数组并且可以确认它正在按照我的预期设置(使用正确的0索引)。我的代码是:
echo "<ul>";
foreach ($locations as &$value)
{
$locationDetails = mysql_query("SELECT id, name FROM locations WHERE id='$value'");
$locationDetailRow = mysql_fetch_assoc($locationDetails);
echo "<li>".$locationDetailRow['name']."</li>";
}
unset($value);
echo "</ul>";
我已经确认查询没有失败,$value
正是我所期望的,并且name
确实存在于每种情况下的第一个$value
。
当有多个地点时,第一种情况应该是失败的原因吗?