Portál AbcLinuxu, 12. května 2025 17:57

Dotaz: Oprava PHP kódu

1.7.2020 16:11 Marek
Oprava PHP kódu
Přečteno: 728×
Odpovědět | Admin
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)
{
        foreach($array as $obj)
        {
                if($obj->cid === $cid)
                {
                        $parent[] = $obj->title;

                        echo $obj->title;

                        if($obj->pid > 0)
                        {
                                get_link($array,$obj->pid);
                        }
                }
        }

        return $parent;
}

$vysledek = getk($array,10);

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.7.2020 17:43 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Oprava PHP kódu
Odpovědět | | Sbalit | Link | Blokovat | Admin
<?php

function getk($array,$cid)
{
		$parent=array();

        foreach($array as $obj)
        {
                if($obj->cid === $cid)
                {
                        array_push($parent, $obj->title);
 
                        echo $obj->title;
 
                        if($obj->pid > 0)
                        {
                                get_link($array,$obj->pid);
                        }
                }
        }
 
        return $parent;
}
 
$vysledek = getk($array,10);
debian.plus@protonmail.com
1.7.2020 20:22 Marek
Rozbalit Rozbalit vše Re: Oprava PHP kódu
Ahoj, výsledek je úplně stejný :(
1.7.2020 22:02 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Oprava PHP kódu
$vysledek = getk($array,10);
print_r($vysledek);
co vypise?
debian.plus@protonmail.com
Gréta avatar 2.7.2020 11:43 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Oprava PHP kódu
Odpovědět | | Sbalit | Link | Blokovat | Admin

php jakoby moc nerozumim áááále myslim si že podmínkou if($obj->cid === $cid) dotoho pole strkáš právě jenom ty oběkty co maj atribut 'cid' rovnej deseti. nóó a neni to jakoby náhodou zrovinka jenom tamten poslení oběkt ve vstupním poli cóó?? :O :D ;D ;D

Zelená energetická soustava založená na obnovitelnejch zdrojích energie versus realnej svět 🤡🇪🇸
2.7.2020 11:52 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Oprava PHP kódu
pise, ze mu vypisuje vsetky spravne. Tak neviem. Ci chape co chce. Alebo to dobre zapisal. Najst chybu v prekladaci/interprete, co pouziva kvantum ludi je skor vzacne.
debian.plus@protonmail.com
Gréta avatar 2.7.2020 12:28 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Oprava PHP kódu

nóó taky je možný že když tamtu proměnou parent má globální že doni zapisuje ještě vodněkud jinud možná z tý funkce/metody get_link. skript taky muže chcípat na vyjímce ale neklekne celej a zkouší jakoby pokračovat ale jako nevim jestli se takle php umí chovat :O :O

navrhuju zakomentovat tamtu podmínku s pidem

                        if($obj->pid > 0)
                        {
                                get_link($array,$obj->pid);
                        }

a koukat jestli seto bez ni bude chovat normálně. možná by jako taky nebylo vod věci do zdrojáčku nastrkat pár try-catch hlídátek hele :O ;D

2.7.2020 12:26 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Oprava PHP kódu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mně ten skript funguje perfektně. Co máš v $array?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
5.7.2020 19:39 Bherzet | skóre: 19 | blog: Bherzetův blog
Rozbalit Rozbalit vše Re: Oprava PHP kódu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Žádnou chybu nevidím. Izoluj to do krátkého samostatného skriptu, kde bude vidět, s jakým vstupem to voláš a jak vypisuješ ten výstup. Pak nám to pošli spolu s popisem, jak se to liší od očekávaného výstupu. Takhle těžko radit.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.