Foreach循环,如果问题
我想从这个foreach循环得到0结果,但它只是保持空白。但是,它确实执行else if部分。Foreach循环,如果问题
我只想显示来自数据库的条目。如果没有条目,我只想要一个普通的0.
$entries = array();
$sql = "SELECT `id` FROM `events` where creator_id='$id' ORDER BY `id` DESC
LIMIT 1";
$query = mysql_query($sql);
while(($row = mysql_fetch_assoc($query)) !== false)
{
$entries[] = $row['id'];
}
$value1 = "0";
foreach($entries as $entry)
{
if ($entry == false)
{
echo "0";
}
else
if($entry > $value1)
{
echo "$entry";
}
}
问题可能出在哪里?
试试这个:
if (count($entries) == 0)
echo "0";
else foreach($entries as $entry)
{
if($entry > $value1)
{
echo "$entry";
}
}
注意,这仍然可以显示什么,如果一切都在$项是< = $值1。您可能希望将该逻辑移至SQL语句,具体取决于您正在尝试执行的操作。
是的,它的工作... thx;他们关键的事情是计数 – Norm
很高兴它帮助! –
这可能会解决您的问题。
在while循环中使用!=
而不是!==
。
它不会。检查手册,['mysql-fetch-assoc'](http://www.php.net/manual/en/function.mysql-fetch-assoc.php)返回FALSE –
我知道它返回false .. ...但是==分配的含义是什么? –
对不起...我错了...... –
是** $ entries **一个数组及其包含的值? – adatapost
sry我更新了它 – Norm