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 - Jak vrátit key z vnořeného pole podle známé hodnoty.

    23.3.2014 20:37 Marián
    PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Přečteno: 313×
    Ahoj, mám ještě jeden dotaz ohledně tohoto pole
         $array = 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-ccc', 'b' => 'b-eee'));
    Zkouším získat klíč podle zadaného údaje, Zkoušel jsem to
    echo array_search('a-bbb', $array);
    i takto
    echo array_search('a-bbb', array($array));
    ale vůbec nic mi nejde. Poradí někdo? Díky

    Odpovědi

    23.3.2014 20:51 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Proč si ho raději nevytáhneš z databáze?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    23.3.2014 22:53 Marián
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    To jsem zkoušel, ale taky to nejde...
         $stmt = $db->prepare('SELECT key FROM table WHERE co = ?;');
         $stmt->execute(array('a-aaa'));
         $status = $stmt->fetch();
         echo $status['key'];
    
    zkoušel jsem i tohle
         $stmt = $db->prepare('SELECT key FROM table WHERE co = ?;');
         $stmt->execute(array('a-aaa'));
         $status = $stmt->fetchColumn();
         echo $status['key'];
    
    ale taky nic. Když dám var_dump($status); tak to vrací jen "bool(false)". Když dám místo key hvězdičku, tak to funguje...

    Vydí tam někdo nějakou chybu? Díky
    23.3.2014 23:33 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Skutečně se ten sloupeček v databázi jmenuje "key"? Proč vlastně hledáš klíč podle hodnoty a ne obráceně? Mám takové tušení, že ten návrh aplikace máš zcela špatně.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    24.3.2014 01:40 Marián
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Ano, opravdu se jmenuje "key". Pokud zadám místo "key" "*" tak to funguje :-( Klíč hledám podle hodnoty proto, jelikož znám daný kousek české url ale neznám fyzicky us název souboru.
    Jendа avatar 24.3.2014 01:45 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    No a když to napíšeš přímo do konzole databázového serveru, tak to něco vrátí?
    24.3.2014 11:34 Marián
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Ano vrátí to chybu:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key FROM define WHERE co = a-aaa' at line 1

    ale žádnou chybu nevidím..
    24.3.2014 12:13 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    key je nevhodné označení sloupce rezervovaným slovem - zadej `key` .
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    24.3.2014 13:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.

    Toto je přesně případ, proč raději vše uvozovkuji, těmi uvozovkami, které dané entitě v daném DBE přísluší. minimálně je třeba použít lepší názvy, tedy key doplnit o to co je to za key, třeba userLoginKey nebo book_category_key .

    Uvozovkování předchází i problému, kde se vytvoří nové rezervované slovo, ale zas to pro někoho znepřehledňuje dotazy.

    Zadej 'SELECT `key` FROM `table` WHERE `co` = ?;' (pro MySQL) a už to pojede
    (Pro PostgreSQL by to bylo něco jako: 'SELECT "key" FROM "table" WHERE "co" = ?;',
    pro M$SQL myslím něco jako 'SELECT [key] FROM [table] WHERE [co] = ?;').

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Jendа avatar 23.3.2014 21:17 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Protože array_search() nejde do hloubky. Zkusil bych něco jako
    foreach a in $array {
      echo array_search('a-bbb', $a);
    }
    (pseudokód)

    Pro víc polí to bude pomalé, pak bych asi uvažoval o nějaké vhodnější struktuře (strom, hashtable).
    26.3.2014 12:56 Lucius
    Rozbalit Rozbalit vše Re: PHP - Jak vrátit key z vnořeného pole podle známé hodnoty.
    Pokud jde o index toho vnejsiho pole tak nejak takto by to melo jit:
    $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;

    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.