Autor Zpráva
cesar
Profil
Mám na vás všechny takovou menší prosbu. :-) Řeším takovou ,,perličku":
Mám následující:
Array
(
    [LANGUAGE] => cz
    [kalkulace] => Array
        (
            [kod_formulare] => 675813464
            [prijmeni] => Pospiech
            [jmeno] => Michal
            [montaz] => 1
            [likvidace-odpadu] => 1
            [typ] => okno
            [typ_id] => 3
            [barva] => 31
        )

    [test] => Array
        (
            [klic1] => hodnota1
            [klic2] => hodnota2
            [klic3] => hodnota3
            [klic4] => hodnota4
            [klic5] => Array
                (
                    [klic6] => hodnota6
                )

        )

)


a potřebuji zavolat [test][klic5][klic6]. Vím, že to jde přes $nazev_promenne[test][klic5][klic6], jenomže já to takhle volat momentálně nemůžu, protože volám fce, která to vypisuje. Jediné co vím, je že mám volat 3 hodnoty (zjistí se přes count()). Nevíte někdo jak na to, aby se mi to vypsalo? Napadlo mě:
$klice = array("test", "klic5", "klic6");
for($a = 0; $a < count($klice); $a++){
    $c .= "[".$klice[$a]."]";
}
echo $_SESSION.$c;


jenomže takhle to jaksi nejde. Neřešili jste to někdo někdy? Vůbec mě nenapadá, jak to vyřešit. :-( Předem moc díky za rady.
Joker
Profil
Nebo takhle:
$klice = array("test", "klic5", "klic6");
$pole = $vstup;
for($i=0; $i< count($klice); $i++){
  $pole = $pole[$klice[$i]];
}

...a na konci by v $pole měla být požadovaná hodnota. Samozřejmě by nebylo od věci tam přidat kontrolu, aby to v případě neexistence toho klíče nevyházelo mraky chyb.
cesar
Profil
Super, díký moc. Přiznám se, že mě to vůbec nenapadlo. Sedím nad tím už cca hodinu, zkouším všechno možné, ale necvakla mě možnost, že pole zapisuje a zapisuje za sebe. Ještě jednou moc díky.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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