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

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 11
    dnes 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

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

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

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

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

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

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 5
    včera 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

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

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 7
    včera 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 426 hlasů
     Komentářů: 18, poslední včera 18:34
    Rozcestník

    Dotaz: Oříšek pro otrlé mazáky - Jak v php nadefinovat pole z define

    30.10.2013 19:34 Horde
    Oříšek pro otrlé mazáky - Jak v php nadefinovat pole z define
    Přečteno: 762×
    Dobrý večer. Potřebuji poradit, jak nastavit foreach abych dostal požadované pole viz příklad dole. Může někdo pomoci?
         define('BEDNA_KEY', 'bedna');
         define('BEDNA_CLA', '1111');
         define('BEDNA_TIT', '988777');
    
         define('KNIHA_KEY', 'kniha');
         define('KNIHA_CLA', '3447');
         define('KNIHA_TIT', '537');
    
         define('SKLO_KEY', 'sklo');
         define('SKLO_CLA', '78');
         define('SKLO_TIT', '177');
    
         $arr1 = array(BEDNA_KEY, KNIHA_KEY, SKLO_KEY);
    
         $array = array();
    
         foreach ($arr as $key => $value){
              $array[$key] = array('cla' => ???, 'tit' => ???); //nevím jak s tímto řádkem hnout
         }
    
         /*Potřebuji takto nadefinovat pole tím cyklem*/
         $array = array(BEDNA_KEY => array('cla' => BEDNA_CLA, 'tit' => BEDNA_TIT),
                        KNIHA_KEY => array('cla' => KNIHA_CLA, 'tit' => KNIHA_TIT),
                        SKLO_KEY  => array('cla' => BEDNA_CLA, 'tit' => SKLO_TIT));

    Odpovědi

    31.10.2013 09:43 RYU.cz | skóre: 16 | Vsetín
    Rozbalit Rozbalit vše Re: Oříšek pro otrlé mazáky - Jak v php nadefinovat pole z define
    Pokud potřebuješ načíst obsah oné konstanty, tak použij fci http://php.net/manual/en/function.constant.php. Název konstanty prostě poskládáš.
    Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz
    1.11.2013 18:27 mano | skóre: 9
    Rozbalit Rozbalit vše Re: Oříšek pro otrlé mazáky - Jak v php nadefinovat pole z define
    Ak je to ešte stále aktuálne, tak tu máš vzorové riešenie - je to zbúchané za behu, takže som dbal len na funkčnosť, nie efektívnosť...
    <?php
    
    define('BEDNA_KEY', 'bedna');
    define('BEDNA_CLA', '1111');
    define('BEDNA_TIT', '988777');
    
    define('KNIHA_KEY', 'kniha');
    define('KNIHA_CLA', '3447');
    define('KNIHA_TIT', '537');
    
    define('SKLO_KEY', 'sklo');
    define('SKLO_CLA', '78');
    define('SKLO_TIT', '177');
    
    
    function get_constant_base_name($val) {
    
    	$defined_constants=get_defined_constants(true);
    	foreach ($defined_constants['user'] as $const_name => $value) {
    		if ($value == $val && substr($const_name, -4) == '_KEY') {
    			return substr($const_name, 0, -4);
    		}
    	}
    	
    	return NULL;
    }
    
    
    
    $arr1 = array(BEDNA_KEY, KNIHA_KEY, SKLO_KEY);
    $new_array = array();
    
    foreach ($arr1 as $value){
    	if ($key = get_constant_base_name($value)) {
    		$new_array[$value] = array(
    				'cla' => constant($key.'_CLA'),
    				'tit' => constant($key.'_TIT')
    		);
    	}
    }
    
    
    print_r($new_array);
    
    ?>
    
    Jeden komentár k tomu - musíš si v tomto prípade dávať pozor na názvy konštánt, pretože sa môže stať, že budeš mať definované 2 konštanty *_key s rovnakou hodnotou, napr.:
    define('BEDNA_KEY', 'bedna');
    define('MALA_BEDNA_KEY', 'bedna');
    
    tak v tomto prípade nemáš možnosť deterministicky určiť o ktorú z konštánt sa jedná - vhodnejšou voľbou je potom definovať $arr1 ako
    $arr1 = array('BEDNA', 'KNIHA', 'SKLO');

    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.