![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy to ma znaczenie ale używam php 5.2.0. W php referencje pozwalają na stworzenie dwóch zmiennych odwołujących się do tej samej zmiennej. Podczas przeglądania tablicy funkcją foreach(), potrzebowałem nadpisywać/kasować pewne dane. Były dwa wyjścia:
1. najpierw przelecieć przez całą tablicę i do nowej tablicy przerzucić tylko te dane, które mnie interesują 2. usuwać/nadpisywać dane podczas przeglądania Działanie poniższego kodu jest dla mnie niezrozumiałe. Czy może mi ktoś to wyjaśnić?
Dopiero przy drugim przeglądaniu tablicy znajduje się wartość nadpisana. Jeśli odkomentuję drugą linijkę to w obydwóch przebiegach pętli znajdzie się wartość nadpisana.. Pomimo tego, że stworzyłem referencję a i tak korzystam z $tablica.. (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
chodzi oto, ze tworząc referencje nawet dla innej zmiennej, to pierwsza zmienna tez juz nie zawiera tego co zawierala, a zawiera tez juz referencje do miejsca gdzie leza dane. To by wyjasnialo zachowanie twojego kodu.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 10:04 |