1

好的,我有这个代码

<?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; ?>

它完成了这项工作,但在循环之后,它添加了最后一项的值。为什么?

4

1 回答 1

1

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

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

于 2013-09-24T01:57:09.167 回答