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:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 19:00 | Nová verze

    Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Upozornění

    eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.

    Ladislav Hagara | Komentářů: 2
    včera 17:00 | Komunita

    Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.

    Ladislav Hagara | Komentářů: 1
    včera 14:33 | Komunita

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

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Upozornění

    Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."

    javokajifeng | Komentářů: 0
    včera 01:11 | Bezpečnostní upozornění

    Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.

    Ladislav Hagara | Komentářů: 0
    2.10. 23:33 | Nová verze

    Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 2
    2.10. 22:33 | IT novinky

    Český telekomunikační úřad vydal zprávy o vývoji cen a trhu elektronických komunikací se zaměřením na rok 2024. Jaká jsou hlavní zjištění? V roce 2024 bylo v ČR v rámci služeb přístupu k internetu v pevném místě přeneseno v průměru téměř 366 GB dat na jednu aktivní přípojku měsíčně – celkově jich tak uživateli bylo přeneseno přes 18 EB (Exabyte). Nejvyužívanějším způsobem přístupu k internetu v pevném místě zůstal v roce 2024 bezdrátový

    … více »
    Ladislav Hagara | Komentářů: 0
    2.10. 12:11 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-10-01. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Jedná o první verzi postavenou na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (14%)
     (16%)
     (18%)
     (14%)
     (18%)
     (15%)
     (14%)
    Celkem 169 hlasů
     Komentářů: 11, poslední včera 07:30
    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: 750×
    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.