2013-09-24 32 views
1

好吧,我有这样的代码php - 为什么要显示数组中最后一项的值?

<?php //getting values 
$column1 = $params->get('param1',''); 
$column2 = $params->get('param2',''); 
$column3 = $params->get('param3',''); 
$column4 = $params->get('param4',''); 
$column5 = $params->get('param5',''); 

//setting array and filter the empty values 
$getvalues = array($column1,$column2,$column3,$column4,$column5); 
$values = array_filter($getvalues); ?> 

然后我使用一个foreach

<?php foreach ($values as $key=>$value) : ?> 
    <div><?php echo $value; ?></div> 
<?php endforeach; ?> 

它的工作里面这些值,但在循环后,它增加了最后一个项目的价值。为什么?

回答

1

经过一个恶性循环之后,所使用的$ key和$ value变量仍然存在,并保留其最后的值,所以我认为您在代码中的其他地方使用$ value而不重写它的值。

循环后调用unset($ value)和unset($ key)并观察PHP错误,如果错误reportnig设置为最严格模式,我认为您会面对一些错误。

+0

循环后没有提及$ key或$ value。 unset也没有帮助。我怎样才能停止再次显示最后一个值? – thednp

+0

更正:未设置$值做了这项工作,你得分,我谢谢你! – thednp

相关问题