2013-09-24 61 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

相關問題