好的,我有这段代码
<?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; ?>
它完成了这项工作,但在循环之后,它会添加最后一项的值。为什么?
答案 0 :(得分:1)
在foeach循环之后,使用的$ key和$ value变量仍处于活动状态并保持其最后的值,因此我认为您在代码中的其他位置使用$ value而不重写它的值。
在循环之后调用unset($ value)并取消设置($ key)并观察PHP错误我认为如果错误reportnig设置为最严格的模式,你将面临一些错误。