abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 6
    dnes 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 1
    dnes 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    NUKE GAZA! 🎆 | Komentářů: 14
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    NUKE GAZA! 🎆 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    NUKE GAZA! 🎆 | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (31%)
     (1%)
     (25%)
     (1%)
     (1%)
     (1%)
     (11%)
     (10%)
     (19%)
    Celkem 213 hlasů
     Komentářů: 22, poslední dnes 15:34
    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: 211×
    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.