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í
×

    včera 22:00 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 13:55 | Komunita

    Na itch.io probíhá Linux Game Jam 2023. Zapojit se a přihlásit hru běžící na Linuxu lze do 6. června do 01:59. Zahrát si lze hry z loňského ročníku.

    Ladislav Hagara | Komentářů: 2
    27.5. 18:55 | IT novinky

    Na Steamu lze získat zdarma počítačové hry Warhammer 40,000: Gladius - Relics of War a Hue. Na Epic Games Storu počítačovou hru Fallout: New Vegas - Ultimate Edition.

    Ladislav Hagara | Komentářů: 8
    26.5. 08:00 | Komunita

    WordPress (Wikipedie), open source systém pro správu webového obsahu (CMS), zítra slaví 20 let. První verze byla vydána 27. května 2003.

    Ladislav Hagara | Komentářů: 36
    25.5. 21:44 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno ve verzi 1.34. Přehled novinek v poznámkách k vydání. Od verze 1.6 lze pomocí "deno compile" sestavit ze zdrojových kódů binární spustitelný soubor. Nově "deno compile" podporuje také npm balíčky.

    Ladislav Hagara | Komentářů: 8
    25.5. 20:22 | Komunita

    Aktuálně posledním 14. open source filmem od Blender Studia je CHARGE (YouTube). Dokončuje se 15. film Pet Projects. Začíná se pracovat na 16. filmu s pracovním názvem Project Gold.

    Ladislav Hagara | Komentářů: 6
    25.5. 13:33 | Komunita

    Thunderbird má nové logo.

    Ladislav Hagara | Komentářů: 32
    24.5. 21:44 | Komunita

    Není zcela jednoduché rozchodit v Linuxu kameru IPU6 umístěnou v noteboocích Dell Latitude 9420, Lenovo ThinkPad X1 Carbon Gen 10, Lenovo ThinkPad X1 Nano Gen 2, Lenovo ThinkPad X1 Yoga Gen 7 a dalších. Ve Fedora Linuxu je to teď snadnější. Hans de Goede informuje o podpoře kamery IPU6 ve Fedora Linuxu pomocí balíčků umístěných na RPM Fusion.

    Ladislav Hagara | Komentářů: 24
    24.5. 17:33 | IT novinky

    Společnost AMD na YouTube představila a oznámila prodej grafické karty Radeon RX 7600. Cena začíná na 269 dolarech.

    Ladislav Hagara | Komentářů: 0
    24.5. 12:11 | Nová verze

    Podman Desktop dospěl do verze 1.0. Jedná se o grafickou nadstavbu nad nástrojem Podman, jenž umožňuje vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota.

    Ladislav Hagara | Komentářů: 0
    Obnovovací frekvenci obrazovky (LCD) preferuji
     (72%)
     (22%)
     (5%)
     (2%)
    Celkem 727 hlasů
     Komentářů: 13, poslední 25.5. 07:25
    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: 296×
    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: 45 | 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: 45 | 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: 30 | 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.