Autor | Zpráva | ||
---|---|---|---|
berry Profil * |
#1 · Zasláno: 28. 11. 2005, 10:16:08
Zdravím, můžete mi pomoct s jednou funkcí? Nějak nejsem schopen ji donutit aby v Php5 pracovala správně.
function processSql($vysledek) { $a=array(); $i=0; $fields = mysql_num_fields($vysledek); for ($f=0;$f<$fields;$f++) { $field= mysql_fetch_field ($vysledek); $name[$f]=$field->name; } while ($zaznam = MySQL_Fetch_Array($vysledek)) { for ($f=0;$f<$fields;$f++) { @$prvek->$name[$f]=$zaznam[$name[$f]]; // echo $zaznam[$name[$f]]; } $a[$i]=$prvek; $i++; } return $a; } V Php4 pracuje v klidu a vrátí pole s různými prvky. V php5 jsou ale všechny prvky stejné (podle posledního prvku). Chyba se děje v řádku $a[$i]=$prvek;, kde $prvek záhadně přepisuje všechny indexy. Můžete mi,prosím, poradit? V php5 se absolutně neorientuju. Díky |
||
kaifman Profil |
#2 · Zasláno: 28. 11. 2005, 12:45:22
to neni zahada v 5 se totiz na tom radku predava reference nikoliv ze by se kopiroval objekt
resenim je $a[$i]=clone $prvek; viz http://www.php.net/manual/en/language.oop5.cloning.php |
||
berry Profil * |
#3 · Zasláno: 28. 11. 2005, 13:37:46
díky moc, šlape to
|
||
ronnie Profil |
#4 · Zasláno: 28. 11. 2005, 14:20:43 · Upravil/a: ronnie
Nerozumíš-li technické angličtině, pak by se ti mohl hodit odkaz http://oop.ronnieweb.net/specialni-metody.php
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0