Autor Zpráva
Jarda4
Profil *
$refs = array();
$list = array();

$sql = "SELECT item_id, parent_id, name FROM items ORDER BY name";
$result = mysql_query($sql);
while($data = @mysql_fetch_assoc($result)) {
    $thisref = &$refs[ $data['item_id'] ];

    $thisref['parent_id'] = $data['parent_id'];
    $thisref['name'] = $data['name'];

    if ($data['parent_id'] == 0) {
        $list[ $data['item_id'] ] = &$thisref;
    } else {
        $refs[ $data['parent_id'] ]['children'][ $data['item_id'] ] = &$thisref;
    }
}


Mohl by mi někdo trošku pomoci s vysvětlením výše uvedeného kodu. Respektive pouze s tím přiřazením referencí, jak se z toho může vytvořit multirozměrné pole s hierarchií.

Vím, že když přiřadím něco referencí, tak se při změně levé proměnné změní i referenční hodnota, ale v tomhle případě mi to fakt není jasné. Díky
tiso
Profil
Jarda4: Referencia
$a=&$nejake_dlhe_meno['premennej'];//odteraz vsade kde napises $a ako keby si napisal $nejake_dlhe_meno['premennej']

riadok 7: $thisref je referencia na aktuálne pridávanú (spracovávanú) položku $refs[$data['item_id']]
riadok 9,10: priradíme k položke ďalšie údaje
riadok 13: ak je položka v najvyššej úrovni, priradíme ju do poľa $list
riadok 15: inak ju pripojíš ako potomka k parent položke - tu sa vytvára hierarchia

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: