Diskuze: PHP - změna textu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 9 zpráv z 9.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Ja by som to riešil takto samozrejme ak nutne nepotrebuješ použitie toho array. Je to len príklad pre rozšírenie znalosti
$vstup = "2218818";
$first = substr($vstup, 0, 1);
switch ($first){
case "1":
echo "1";
break;
case "2":
echo "2";
break;
default:
echo "Ani jedna z možností";
Moc děkuju za pomoc. Zkusil jsem obě metody a funguje to. Jen mám problém pokud mi $vstup začíná například na 34 nebo 443. substr($vstup, 0, 1); mi vezme první znak, ale co když mi bude $vstup začínat na 2 nebo 3 cifernou hodnotu ??? Jde to nějak ošetřit ?
Promiň, zkusím to popsat na jiném příkladu. Někdo mi přes formulář vloží do $vstup číslo 420123456789 a já potřebuju toto změnit na "česko", když to bude 421123456789 tak zase na "slovensko", ale také když to bude třeba 45123456789 tak to změnit na "dánkso"...
Jestliže se délka začátku proměnné $vstup mění, tak musíš dát svému algoritmu najevo, jako délku zrovna teď chceš:
$vstup = '420123456789';
$zeme= array (
'4' => 'Země nezemě',
'420' => 'Česko'
);
// Vstup začíná na 4, ale i na 420, co z toho se má vybrat?
Pokud chceš vybrat vždy to nejdelší (takže z 4 a 420 se vybere právě 420), pak bys musel procházet pole a zjišťovat, jaký nejdelší klíč se shoduje se vstupem:
$vstup = '420123456789';
$zeme= array (
'4' => 'Země nezemě',
'420' => 'Česko'
);
for ($i = 0, $l = strlen($vstup); $i < $l; $i++) {
$cast = substr($vstup, 0, $l - $i);
if (isset($zeme[$cast])) {
echo $zeme[$cast];
break;
}
}
Tento algoritmus zapřičiní, že se bude $vstup v cyklu postupně zkracovat a zkoušet, zda byl nalezen v poli:
$vstup = '420123456789';
// existuje $zeme['420123456789']?
// existuje $zeme['42012345678']?
// existuje $zeme['4201234567']?
// existuje $zeme['420123456']?
// existuje $zeme['42012345']?
// existuje $zeme['4201234']?
// existuje $zeme['420123']?
// existuje $zeme['42012']?
// existuje $zeme['4201']?
// existuje $zeme['420']? ANO - zastav cyklus a vypiš $zeme['420']
$vstup = "199878252";
$ovoce = array (
'1' => 'hruska',
'2' => 'jablko'
);
$prvniZnak = substr($vstup, 0, 1);
echo $ovoce[$prvniZnak];
Pocet znaku urcujes tim kolik vratis z funkce substr do promenne $prvniZnak. Tedy, pokud chces porovnavat 3 ciselne kombinace tak bych zvolil:
$prvniZnak = substr($vstup, 0, 3);
Pro ruzny pocet nejspis cyklus.
Zobrazeno 9 zpráv z 9.