Oprava PHP kódu
Ahoj všichni, potřeboval bych poradit s tímto kódem který projde pole $array a vytiskne přes echo objekt title u všech rodičů. To echo funguje správně ale proměnná $vysledek obsahuje pouze poslední vložený údaj :( Nevídí prosím někdo chybu? Děkuji
function getk($array,$cid)
{
$parent = [];
foreach($array as $obj)
{
if($obj->cid === $cid)
{
$parent[] = $obj->title;
echo $obj->title;
if($obj->pid > 0)
{
getk($array,$obj->pid);
}
}
}
return $parent;
}
$vysledek = getk($array,10);
Zahazuješ výsledek rekurzivního volání.
Můžeš mi poradit jak to opravit?
Nezahazovat ho, ale přidat do výsledku.
Napadá mě snad jen takto, ale to stejně nejde.
V PHP nedělám, ale zkusil bych něco takového:
Je tohle ekvivalent
tohodle?
EDIT: Tak to není ekvivalent, nefunguje to. Co znamenají ty tři tečky? Nemůžu to v manuálu najít.
Bez těch teček to vloží celé pole jako jeden prvek. S nimi to tam vloží jednotlivé prvky.
No tak to je masakr, ale funguje to! Díky tobě.