php - 为什么显示数组中最后一项的值?

时间:2013-09-24 01:44:18

标签: php arrays loops foreach

好的,我有这段代码

<?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 个答案:

答案 0 :(得分:1)

在foeach循环之后,使用的$ key和$ value变量仍处于活动状态并保持其最后的值,因此我认为您在代码中的其他位置使用$ value而不重写它的值。

在循环之后调用unset($ value)并取消设置($ key)并观察PHP错误我认为如果错误reportnig设置为最严格的模式,你将面临一些错误。