2011-11-01 17 views
5

Mam pętlę, która działa 47 razy na mojej stronie. W trakcie każdej pętli wszelkie komunikaty o błędach są wprowadzane do err [] i drukowane. Próbuję wyzerować tablicę po każdej iteracji i mam problem.Anuluj całą tablicę

W każdej iteracji może być 4 lub 5 komunikatów o błędach, czasami brak. Czy istnieje prostszy sposób na zresetowanie całej tablicy po każdej iteracji po uruchomieniu kolejnej pętli foreach i wyzerowaniu każdej wartości? Sposób czyszczenia całej zawartości i resetowania indeksów bez faktycznego usuwania samej tablicy?

+1

czym problem z napisaniem aktualnej tablicę z nową pusty szyk? Czy przechowujesz odniesienia do tablicy? –

Odpowiedz

9

Powinieneś używać: unset ($err);

+0

Hmm ... to działało. Musiałem mieć coś jeszcze nie tak, jak próbowałem wcześniej i to nie działało. Wydaje się, że teraz robisz lewę. Dzięki! –

+0

Bez problemu. Jeśli chcesz, możesz zaakceptować to jako odpowiedź, aby inni mogli łatwiej ją znaleźć. Twoim problemem mogły być aparaty ortodontyczne. To czasami mnie łapie. –

+2

Ale to nie jest opróżnianie tablicy, to całkowite usunięcie tablicy ... –

7

Ustaw na array(), a wszystko powinno być w porządku.

+0

Tego właśnie szukałem. – Imtiaz

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

Poniższy kod jest wyłączonym samej tablicy,

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

Oba powyższym kodzie pomoże po prostu wyłączony tylko i wygrał wartości nie usuwaj kluczy. Więc klucze będą takie, jakie są, ale wartości zostaną usunięte.

Gdzie to wyjście będzie jak poniżej,

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

jeśli używasz $your_array_variable = array(); potem będzie coraz wyjście poniżej,

Array(
)