2011-11-01 53 views
5

我有一個循環,在我的頁面上運行47次。在每個循環過程中,任何錯誤消息都會輸入到err []中並打印出來。我試圖在每次迭代後清空數組,並且遇到了一些麻煩。取消整個陣列

每次迭代可能有4或5個錯誤消息,有時沒有。是否有更簡單的方法來重置每個迭代後的整個數組,而不是運行另一個foreach循環並取消設置每個值?清除所有內容並重置索引而不實際刪除數組本身的方法?

+1

什麼用覆蓋當前的陣列與一個新的空的問題陣列?你保持對數組的引用嗎? –

回答

9

你應該使用: unset ($err);

+0

嗯...工作。我之前嘗試過,但一定有其他問題,並且沒有奏效。似乎現在正在詭計中。謝謝! –

+0

沒問題。如果你願意,你可以接受這個答案,以便其他人可以更容易地找到答案。你的問題可能包括括號。這有時會抓住我。 –

+2

但是,這不是清空陣列,它是完全刪除陣列... –

7

將它設置爲array(),你應該沒問題。

+0

這正是我所期待的。 – Imtiaz

2
$clear = array(); 
foreach($your_array_variable as $key=>$val){ 
    $val = ''; 
    $clear [$key] = $val; 
} 
print_r($clear); 

下面的代碼是沒有設置相同的陣列,

foreach($your_array_variable as $key=>$val){ 
    $val = ''; 
    $your_array_variable[$key] = $val; 
} 
print_r($your_array_variable); 

兩個上面的代碼將幫助你正好被清除只和韓元價值不清除鑰匙。所以鍵將保持原樣,但值將被清除。

在那裏的輸出會像下面,

array(
[0]=> 
[1]=> 
) 

如果你使用$your_array_variable = array();那麼你會得到下面的輸出,

Array(
)