Avatar
IT Man
Redaktor
Avatar
IT Man:

Ahoj,
potřeboval bych od Vás pomoci. Mám nějaký takovýhle strom položek:

Array(
    [1] => Array(
        // Nějaká data
        // ...
        ['sub'] => Array(
            [2] => Array(
                // Další data
                // ...
                ['sub'] => Array
                    (
                    )
            )
            [3] => Array(
                // Data
                // ...
                ['sub'] => Array
                    (
                    )
            )
        )
    )
)

Následně ho zpracovávám takhle:

public function getWay($tree, $needle)
{
    $way = '';

    foreach ($tree as $item)
    {
        if ($item['data'] == $needle)
            return $way . $item['data'];
        $way = $item['data'] . $this->getWay($item['sub'], $needle);
    }
    return $way;
}

Problém je v tom, že pokud při poli s klíčem 3 je to teprve až nalezeno, zůstane tam i věc z klíče 2. U klíče 4 tam zůstane zase jenom klíč 3 (a samozřejmě věc z pole s klíčem 1).
Jak by se tedy efektivně dala získat posloupnost pouze s věcí z pole s klíčem 1 a spolu s tím věc z pole s klíčem 3? Předem děkuji za pomoc.

Odpovědět 13. května 18:43
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.