abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:11 | Zajímavý článek

    Nikita Mazurov pro The Intercept popisuje, jak si zařídil anonymní účet v komunikátoru Signal, tedy aniž by použil své telefonní číslo. Využil telefonní budku. Poslední telefonní budka v Česku byla odstraněna v roce 2021.

    Fluttershy, yay! | Komentářů: 25
    dnes 01:55 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.2. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Nová verze

    Byla vydána nová stabilní verze 3.6 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Po necelých 4 měsících vývoje od vydání verze 6.5 byla vydána nová verze 6.6 svobodného open source redakčního systému WordPress. Kódové jméno Dorsey bylo vybráno na počest amerického jazzového trombonisty, trumpetisty, skladatele a dirigenta big band éry Tommyho Dorseyho (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.2 s prodlouženou podporou. Podrobnosti v poznámkách k vydání.

    Fluttershy, yay! | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána nová verze 6.5 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.5.1.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Správce sbírky fotografií digiKam byl vydán ve verzi 8.4.0. Jedná se o převážně opravné vydání provázené aktualizacemi knihoven. V minulé verzi přidané automatické štítkování podle obsahu obrázků (projekt z GSoC 2023) bylo doplněno o možnost strojového překladu štítků z angličtiny.

    Fluttershy, yay! | Komentářů: 0
    15.7. 23:00 | Zajímavý projekt

    Byl představen SCALE, tj. GPGPU toolchain umožňující spouštění CUDA programů na GPU od AMD. Za projektem stojí společnost Spectral Compute.

    Ladislav Hagara | Komentářů: 3
    15.7. 03:22 | IT novinky

    Retro PC emulátor UTM SE pro iPhone, iPad a Apple Vision Pro je nově zdarma k dispozici v App Storu (𝕏). UTM SE je postavený nad QEMU.

    Ladislav Hagara | Komentářů: 3
    15.7. 01:22 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.9 oznámil Linus Torvalds vydání Linuxu 6.10. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: PHP pomoc s debugem

    18.5.2015 14:30 2012 | skóre: 16 | blog: co_me_dneska_napadlo
    PHP pomoc s debugem
    Přečteno: 151×
    Zdravim, jeden muj php skript nedela, co bych od nej ocekaval. Uz do toho koukam docela dlouho a nejak jsem ze na tom zasekl. Poradi nekdo?
    <?//------------------------------------------------------------------------------------------------------------------
    $menu = array
      (
      array(1,0),
      array(2,1),
      array(3,1),
      array(4,3),
      array(5,3),
      array(6,5),
      array(7,1),
      array(8,1),
      array(9,8),
      array(10,9),
      array(11,1),
      array(12,11),
      array(13,12),
      array(14,1),
      array(15,14),
      array(16,14),
      array(17,16),
      array(18,14),
      array(19,18),
      array(20,19),
      array(21,20),
      array(22,21),
      array(23,1)
      );
    
    ##===========================================
    $nodes = array();
    foreach ($menu as $n) {
        if (!array_key_exists($n[1], $nodes)) {
            $nodes[$n[1]] = array();
        }
        array_push($nodes[$n[1]],$n[0]);
    }
    
    function dict_value($nodes,$hledana){       # vrati parrenta hledane hodnoty 22 -> 21, atd.
        $keys = (array_keys($nodes));
        #$values = (array_values($nodes));
        $a = array();
        $pocitadlo = 0;
        foreach ($keys as $key) {
            foreach ($nodes[$key] as $k) {
                if ($hledana == $k) {
                    #var_dump($key);
                    return $key;
                }
            }
        }
    }
    
    #=========================================== rekurzivni vyhledani cesty
    function cesta($nodes,$hledany_klic,$a=array()) {
        $lastval = dict_value($nodes,$hledany_klic);
        
        var_dump($lastval);
        echo "<br>";
        
        array_push($a,$lastval);
    
        var_dump($a);               # TADY JE: array(7) { [0]=> int(21) [1]=> int(20) [2]=> int(19) [3]=> int(18) [4]=> int(14) [5]=> int(1) [6]=> int(0) } 
        echo "<br>";
    
        if ($lastval != 0) {
            cesta($nodes,$lastval,$a);
        }
        
        return $a;
    }
    
    $hledany_klic = 22;
    $walk = array();
    $walk = cesta($nodes,$hledany_klic);
    echo "<br>";
    var_dump($walk);                # TADY SE VRATI: array(1) { [0]=> int(21) }
    				# OCEKAVAL BYCH: array(7) { [0]=> int(21) [1]=> int(20) [2]=> int(19) [3]=> int(18) [4]=> int(14) [5]=> int(1) [6]=> int(0) } 
    
    
    
    ?>
    

    Řešení dotazu:


    Odpovědi

    Řešení 1× (2012 (tazatel))
    18.5.2015 14:56 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: PHP pomoc s debugem
    Jenom tak v rychlosti koukám, cesta voláš rekurzivně, ale nic s výsledkem neděláš, takže ti to může vypsat něco jiného, než ten tvůj dump.
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    18.5.2015 15:03 2012 | skóre: 16 | blog: co_me_dneska_napadlo
    Rozbalit Rozbalit vše Re: PHP pomoc s debugem
    jee diky, ja vedel ze to bude nejaka trivialita :-)
    19.5.2015 10:20 logik
    Rozbalit Rozbalit vše Re: PHP pomoc s debugem
    Ahoj, příště si poraď pomocí
    
    import pdb
    pdb.set_trace()
    
    
    Popř. pokud máš instalovanej balíček ipython (daleko lepší debugger), tak
    
    def debug(frame, frames_back):
                if IPython.__version__ >= '0.11':
                    from IPython.core.debugger import Pdb
    
                    try:
                        ip = get_ipython()
    
                    except NameError:
                        from IPython.frontend.terminal.embed \
                             import InteractiveShellEmbed
                        ip = InteractiveShellEmbed()
    
                    colors = ip.colors
    
                else:
                    from IPython.Debugger import Pdb
                    from IPython.Shell import IPShell
                    from IPython import ipapi
    
                    ip = ipapi.get()
                    if ip is None:
                        IPShell(argv=[''])
                        ip = ipapi.get()
    
                    colors = ip.options.colors
    
                sys.excepthook = old_excepthook
    
                if frame is None:
                    frame = sys._getframe(frames_back)
    
                Pdb(colors).set_trace(frame)
    debug()
    
    Ta druhá fce je složitá (výňatek z kódu Sfepy http://sfepy.org/doc-devel/index.html), protože řeší různý verze, IPythonu nicméně doporučuju si nějakou takovoudle funkci napsat/zkopčit a pak používat kde jen to jde...

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.