Autor Zpráva
berry
Profil *
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
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 *
díky moc, šlape to
ronnie
Profil
Nerozumíš-li technické angličtině, pak by se ti mohl hodit odkaz http://oop.ronnieweb.net/specialni-metody.php
Toto téma je uzamčeno. Odpověď nelze zaslat.

0