function funkcja(&$tablica){ foreach($tablica as &$element){ } } funkcja($tablica);
W linii 3ciej usunięta zostanie wyłącznie referencja/zmienna lokalna, zaś ja potrzebuję usunąć element ze zmiennej z linii 7mej.
Jak tego dokonać?
Zamiast użyć unset() mógłbym danemu elementowi przypisać NULL, ale wewnątrz funkcji w pętli foreach wykonuję pewne zmiany w tablicy i przy każdej iteracji pętli musiałbym sprawdzać warunek "if($element != NULL)", albo ew. po wykonaniu funkcji użyć innej, albo przelecieć znowu jakąś pętlą i usuwać wszystkie elementy NULL, ale wydaje mi się to nieeleganckim rozwiązaniem, że tak to ujmę.
Jakieś rady?