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 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

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

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

    Ladislav Hagara | Komentářů: 0
    včera 07:44 | Zajímavý software

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1670 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Problém s array v PHP

    11.5.2014 00:34 Marián
    Problém s array v PHP
    Přečteno: 394×
    Zdravím, vidí tady někdo funkční chybu? Nemůžu na to přijít, proč se nevypíšou i pole "foo" ale jen "bar" :-( Poradí někdo jak to opravit? Děkuji pěkně.
    class Class1 {
      public function set($key, $value){
        $this->data[$key] = $value;
      }
      public function get($key){
        return $this->data[$key];
      }
    }
    
    class Class2 {
      function __construct($obj1){
        $array['aaa']['foo1'] = 'foo1';
        $array['aaa']['foo2'] = 'foo2';
        $array['aaa']['foo3'] = 'foo3';
        $obj1->set('aaa', $array);
      }
    }
    
    
    class Class3 {
      function __construct($obj1){
        $array['aaa']['bar1'] = 'bar1';
        $array['aaa']['bar2'] = 'bar2';
        $array['aaa']['bar3'] = 'bar3';
        $obj1->set('aaa', $array);
      }
    }
    
    
    $obj1 = new Class1();
    $obj2 = new Class2($obj1);
    $obj3 = new Class3($obj1);
    
    var_dump($obj1->get('aaa'));
    Výsledek: array(1) { ["aaa"]=> array(3) { ["bar1"]=> string(4) "bar1" ["bar2"]=> string(4) "bar2" ["bar3"]=> string(4) "bar3" } }
    
    var_export($obj1->get('aaa'));
    Výsledek: array ( 'aaa' => array ( 'bar1' => 'bar1', 'bar2' => 'bar2', 'bar3' => 'bar3', ), )

    Odpovědi

    11.5.2014 01:11 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Problém s array v PHP
    Ty magické metody se nejmenují get a set, ale __get a __set.

    Jinak celé je to úplně zmatené. Ve třídě Class1 chybí deklarace pole $this->data, konstruktor Class2 pracuje s nějakým neznámým polem $array. To pole v $obj1 se prostě přepíše novými hodnotami.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    11.5.2014 01:44 Marián
    Rozbalit Rozbalit vše Re: Problém s array v PHP
    Tak jak to udělat, abych to pole přidal a nepřepsal ? Díky
    11.5.2014 01:47 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Problém s array v PHP
    Asi bych se vykašlal na používání polí a udělal bych to jen v objektech.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    12.5.2014 08:47 Honza Vrana
    Rozbalit Rozbalit vše Re: Problém s array v PHP
    Pokud chcete dve pole spojit pouzijte funkci array_merge

    Honza Vrana
    12.5.2014 12:29 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: Problém s array v PHP
    pole je prostě přepsáno, to nevidíte ?
    function __construct($obj1){
        $array['aaa']['bar1'] = 'bar1';
        $array['aaa']['bar2'] = 'bar2';
        $array['aaa']['bar3'] = 'bar3';
        $obj1->set('aaa', $array);
      }
    
    fungovalo by
    function __construct($obj1){
        $array['bbb']['bar1'] = 'bar1';
        $array['bbb']['bar2'] = 'bar2';
        $array['bbb']['bar3'] = 'bar3';
        $obj1->set('bbb', $array);
      }
    

    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.