NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Získání posloupnosti ve stromu

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jan Lupčík
Tvůrce
Avatar
Jan Lupčík:13.5.2016 18:43

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.5.2016 18:43
TruckersMP vývojář
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.