wg mnei metoda podwojengo dolara na pewno wywola blad ;d
Dobra mam. Powiedzmy ze pobrales te dane w tablicy i chialbys je miec w zmiennych: $dane1, $dane2,..,$dane
n.
No wiec w zmiennej i zapisujesz ile elementow pobrales i robimy teraz tak:
<?php
for($j=1;$j<=$i;$j++){
$tempArray['dane'.$j]=(tutaj przypisz wartosc kolejnym zmiennym dane1, dane2,...);
}
?>
Teraz o funkcji extract (moze Ci sie na przyszlosc przydac):
Definicja funkcji:
extract(array tablica [,typ_ekstrakcji][,string przedrostek])
domyslnym przedrostkiem jest: NULL
domyslnym typem ekstrakcji jest: EXTR_OVERWRITE
Dla czego tak sa ulozone parametry? Logiczne: poniewaz niektore typy ekstrakcji wymagaja przedrostka, o czym za chwile.
wynikiem dzialania funkcji jest wyodrebnienie zmiennych w postaci (w zaleznosci od typu ekstrakcji):
$klucz; lub $przedrostek_klucz
Tak wiec podajac funkcji tablice musisz uwazac aby indeksy nie byly takiem ciagiem, ktory po eksstrakcji utworzylby niepoprawna nazwe zmiennej. Co sie wtedy dzieje? Nie wiem, bo z funkcji tej nie korzystalem
Do czego sluzy typ ekstrakcji? Informuje on parser php co ma uczynić jeżeli będzie próba utworzenia zmiennej o takiej nazwie, któej już jest. Np.:
<?php
$imie='Damian';
$tablica['imie']='Daniel';
$tablica['nazwisko']='Nowak';
?>
Domyslnym typem ekstrakcji jest
EXTR_OVERWRITE (czyli nadpisanie zmiennej). Tak wiec wartosc zmiennej imie na koniec kodu bedzie string: "Daniel"
EXTR_SKIP - wrazie kolizji ominięcie (tak wiec w naszym przypadku po zastosowaniu tego typu, wartosc zmiennej wynosilaby: "Damian"
EXTR_PREFIX_SAME - w razie kolizji utworzenie zmiennej w postaci przedrostek_klucz (wymagany wtedy jest parametr przedrostek)
EXTR_PREFIX_ALL - tworzy zmienne (wszystkie!!) w postaci: przedrostek_klucz (co sie dzieje jezeli juz istnieje taka zmienna nie wiem, bo jak wspomnialem nie korzystalem z tej funckji tyle razy aby sie natknac na taki poblem. Podejrzewam ze zostanie nadpisana)
EXTR_PREFIX_INVALID - i tu rozwiazuje sie problem niepoprawnych nazw w kluczach tablic

Dodaje przedrostek (ktory musi zostac zdefiniowany!!) przed nazwami zmiennych ktorych nazwy sa niepoprawne

tak wiec nasza petla 1 moze miec postac:
<?php
for($j=1;$j<=$i;$j++){
$tempArray[$j]=(tutaj przypisz wartosc kolejnym zmiennym dane1, dane2, dane[b]n[/b]);
}
extract($tempArray,EXTR_PREFIX_INVALID
,'dane'); ?>
Chociaz moze byc to niewygodne, bo zostana utowrzone zmienne w postaci: dane_1, dane_2....
EXTR_IF_EXISTS - tworzy zmienne tylko i wylacznie wtedy, kiedy istnieje juz taka zmienna, jaka chce utowrzyc i nadpisuja ja.
<?php
$imie='Damian';
$nazwisko='Nowak';
$tablica['imie']='Dawid';
$tablica['nazwisko']='Kowalski';
$tablica['miasto']='Gniezno';
?>
NA koniec otrzymamy zmienne: imie, nazwisko o wartosciach odpowiednio: "Dawid", "Kowalski". Zmienna miasto nie zostanie utworzona, poniewaz nie istniala do tej pory.
EXTR_PREFIX_IF_EXISTS - to samo co EXTR_IF_EXISTS tyle ze dodaje przedrostek (ktory musi byc zdefiniowany!!) zeby nie nadpisac zmiennych istniejacych
EXTR_REFS - wyodrebnia zmienne jako odwolania (dostepna od wersji php 4.3.0)
Mam nadzieje ze o to chodzilo