Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
$jmeno = "Petr"; switch ($jmeno){ case "Honza" : echo("Honza"); break; case "Jiří" : echo("Jiří"); break; default : echo("Petr"); }Pokud je toho více tak použít if a cyklus for.
for($c=1; $c<100; $c++){ if($seznam[$c] == $slovo) { echo ("našel jsem slovo ". $slovo); break; } }
Out of index! :)$c=1; $c<100; $c++
count($arr)
(a navíc se snad čísluje od 0, ne?)
$a = array(1 => 'pepa','franta'); $c = count($a); for($i=1;$i<=$c;$i++) echo $a[$i] . "\n";…ne že bych to obvykle dělal… :)
foreach
foreach()
, ani zdaleka neznamená, že se musí za každou cenu použít.
foreach
je obvykle nepatrně rychlejší prochází-li nějaké pole polí apod.
for
je obvykle nepatrně rychlejší procházíme-li pole například čísel.for
,
a zas pokud máme pole asociativní (nebo potřebujeme znát klíč a současně hodnotu), je obvykle vhodnější použít foreach (samozřejmně nemusíme, vytáhneme si klíče a procházíme ty).
for
je například pro mně mnohem jednoduší, bo je ve většině jazyků stejný.for
a dobré používat foreach
, když každé je trochu vhodnější na něco jiného a obě jsou to platné konstrukce jazyka?
for
“.for
je daleko vhodnější.Napadají mne dvě možnosti:
in_array()
.Nejste-li schopen realizovat ani jednu z těchto variant (samozřejmě vám to nemusí nutně trvat celých pět minut) a nejste-li ani ochoten udělat něco proto, abyste byl, doporučuji zamyslet se, je-li programování pro vás vhodnou činností. Jinak tady totiž podobně "zapeklitých" problémů budete řešit nejméně deset denně.
$slova = array("slovo", "jiné slovo", "praha"); var_dump(in_array("slovo", $slova)); var_dump(in_array("false", $slova));
$name2num = array("pondeli" => 1, "utery" => 2, "streda" => 3, "ctvrtek" => 4, "patek" => 5, "sobota" => 6, "nedele" => 7);a preklad je jednoduse vyhledani klice
$nazevdne = "pondeli"; $cislodne = $name2num[$nazevdne];Pokud potrebujes pro kazde slovo delat neco jineho, musis prochazet pole rucne cyklem (pres foreach je to jednodussi nez for a cisleny index) nebo udelat switch, jak bylo receno vyse.
$name2num = array( "pondeli" => "funkce1", "utery" => "funkce1", "streda" => "funkce1", "ctvrtek" => "funkce2", "patek" => "funkce2", "sobota" => "funkce3", "nedele" => "funkce3" ); $nazevdne = "pondeli"; function funkce1($param){ var_dump(__FUNCTION__); var_dump($param); } function funkce2($param){ var_dump(__FUNCTION__); var_dump($param); } function funkce3($param){ var_dump(__FUNCTION__); var_dump($param); } if (isset($name2num[$nazevdne]) && is_callable($name2num[$nazevdne])) call_user_func($name2num[$nazevdne],$nazevdne);
Tiskni
Sdílej: