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 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 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
    6.10. 23:55 | Komunita

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

    Ladislav Hagara | Komentářů: 3
    6.10. 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
    6.10. 20:11 | Komunita

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

    Ladislav Hagara | Komentářů: 0
    6.10. 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
    6.10. 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
    6.10. 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 191 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: PHP - Získání klíče z vnořeného pole podle hodnoty prvku

    6.4.2014 16:18 Jakub
    PHP - Získání klíče z vnořeného pole podle hodnoty prvku
    Přečteno: 236×
    $a = array('a' => array('bar' => 'aa', 'act' => 1, 'ber' => 8),
               'b' => array('bar' => 'bb', 'act' => 1, 'ber' => 8),
               'c' => array('bar' => 'cc', 'act' => 1, 'ber' => 7),
               'd' => array('bar' => 'dd', 'act' => 1, 'ber' => 1)
    );
    Ahoj, poradíte jak získat bez cyklu název klíče (c) když znám jen hodnotu (cc) prvku (bar) ? Děkuji

    Odpovědi

    Jendа avatar 6.4.2014 16:40 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: PHP - Získání klíče z vnořeného pole podle hodnoty prvku
    To podle mě nepůjde. Vnořená pole fakt nejsou vhodná na vyhledávání. Tahle úloha si říká o binární strom.
    6.4.2014 16:50 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Získání klíče z vnořeného pole podle hodnoty prvku
    Možná by se k tomu účelu dala použít databáze, kde se takové operace dělají poměrně snadno.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    wamba avatar 6.4.2014 18:06 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: PHP - Získání klíče z vnořeného pole podle hodnoty prvku
    asi by se dalo použít array_filter něco jako (psáno v Perl-u), kde je cyklus schován
    #!/usr/bin/perl
    use 5.010;
    
    my %a = (
        'a' => { 'bar' => 'aa', 'act' => 1, 'ber' => 8 },
        'b' => { 'bar' => 'bb', 'act' => 1, 'ber' => 8 },
        'c' => { 'bar' => 'cc', 'act' => 1, 'ber' => 7 },
        'd' => { 'bar' => 'dd', 'act' => 1, 'ber' => 1 },
    );
    
    say grep { $a{$_}{bar} eq 'cc' } keys %a;
    
    ale pravděpodobně bude nejschůdnější vytvořit nové asociativní pole, kde klíče budou hodnoty bar a hodnoty klíče a
    my %bar;
    foreach my $key ( keys %a ) {
        $bar{ $a{$key}{'bar'} } = $key;
    };
    
    say $bar{'cc'};
    
    omlouvám se za použití Perl-u v příkladech, ale PHP dostatečně neznám a bylo by to pro mě nesnadné. Doufám, že i tak je to pochopitelné.
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    7.4.2014 11:50 Lucius
    Rozbalit Rozbalit vše Re: PHP - Získání klíče z vnořeného pole podle hodnoty prvku
    uz jsem to tu psal u dotazu

    http://www.abclinuxu.cz/poradna/programovani/show/389582

    zhruba
    $source = array('aaa' => array('a' => 'a-aaa', 'b' => 'b-aaa'),
                        'bbb' => array('a' => 'a-bbb', 'b' => 'b-bbb'),
                        'ccc' => array('a' => 'a-ccc', 'b' => 'b-ccc'),
                        'ddd' => array('a' => 'a-ddd', 'b' => 'b-ddd'),
                        'eee' => array('a' => 'a-eee', 'b' => 'b-eee'));
    
    $output=''; // index pole pro nalezenou hodnotu
    $find = 'a-eee'; // hledana hodnota
    
    array_walk(array_keys($source),create_function('$value, $key,$param', 'in_array($param[1], $param[0][$value])? $param[2] = $value: "";'),array($source,$find,&$output)); 
    
    echo $output;
    
    ale je to trochu "pres ruku" a docela by me zajimalo proc neni mozne pouzit treba foreach ?

    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.