数组Foreach循环仅打印最后一项

时间:2012-01-12 10:19:56

标签: php arrays

为什么以下只打印一个水果?

$fruits = array('banana','apple','orange');
foreach($fruits as $fruit);
{
    echo $fruit."<br>";
}

输出:

orange

4 个答案:

答案 0 :(得分:19)

因为foreach行末尾有一个额外的分号。删除它,一切都应该很好。

答案 1 :(得分:3)

因为;循环结束时的foreach

这应该是代码:

$fruits = array('banana','apple','orange');
foreach($fruits as $fruit)
{
    echo $fruit."<br>";
}

答案 2 :(得分:1)

删除“;”来自声明:foreach($fruits a $fruit) php解释器对待;作为声明的结尾。这样就会使for循环的主体变空。因此即使for循环运行计数($ fruits)次数,但它什么也没做。

答案 3 :(得分:-2)

// In smarty
$array = array("Apple","Guava","Orange","Papya"); 
$this->assign('array',$array);

//In view 

{foreach name=array item=arr  from=$array}
    {if $last} {$arr} {/if}
{/foreach}