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 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 1
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

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

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

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

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 38
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 18
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (45%)
     (16%)
     (17%)
     (22%)
     (16%)
     (18%)
     (16%)
     (16%)
    Celkem 186 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    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: 370×
    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.