NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 15 - Funkce pro práci s řetězci v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Neaktivní uživatel:28.7.2014 13:40

Zaujíma ma jedna vec :D

$retezec = mb_strtoupper('PHP tutoriály na Devbooku.');
$podretezec = mb_strtoupper('devbook');

if (mb_strpos($retezec, $podretezec) **!== false**)
        echo "Nalezeno";
else
        echo("Nenalezeno");

prečo tam je !== false, keď to funguje aj s == true?
True je podľa mňa jednoduchšie na zapísanie...
Dik za odpoveď.

Editováno 28.7.2014 13:41
Odpovědět
28.7.2014 13:40
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Matúš Petrofčík:28.7.2014 13:49
dačo !== false

je to isté ako

dačo === true

v tomto prípade je tam ale false zámerne!
podľa www.php.net - mb_strpos — Find position of first occurrence of string in a string
teda, funkcia mb_strpos vráti pozíciu kde sa nachádza hľadané slovo, a ak tam to slovo nenájde vráti false

problém je, že ak by bolo hľadané slovo hneď na začiatku prehľadávaného stringu, vypísalo by 0 (nula) čo je síce tiež false, ale práve preto v podmienke použijeme !== false namiesto != false

True by si mohol použiť, ale ak by to hľadané slovo bolo hneď na začiatku stringu, tak by sa vrátilo pozícia/číslo 0, čo znamená false, a tým by došlo k chybe

Odpovědět
28.7.2014 13:49
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovědět
28.7.2014 14:00
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Matúš Petrofčík:28.7.2014 18:05

zamálo, snáď som ti dal pravdivé informácie :D

Odpovědět
28.7.2014 18:05
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Jaroslav Polívka:22.2.2016 12:14

Ahoj, porovnávám dva řetězce a napadají mě dvě možnosti:

$var1 = "Hello";
$var2 = "Hello";
if (strcmp($var1, $var2) !== 0)
echo 'Neshoda';
else
echo 'Shoda';

a

$retezec='domovník';
$podretezec='domov';
echo('<br>');
if ( (mb_strpos($retezec, $podretezec) === 0) && (mb_strlen($retezec) === mb_strlen($podretezec)) )
        echo "Shoda";
else
        echo("Neshoda");

Vím, že Dave v článku nedoporučuje užití non mb_ fcí, je strcmp() nebezpečná, popř. jak jinak porovnávat shodu dvou řetězců?

Díky

Odpovědět
22.2.2016 12:14
Velice často si věci žijí svým životem
Avatar
Odpovídá na Jaroslav Polívka
Martin Konečný (pavelco1998):22.2.2016 15:57

a co

if ($var1 === $var2)}

?

Odpovědět
22.2.2016 15:57
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Jaroslav Polívka:22.2.2016 16:48

Hmm Marťas, asi jo, ale ošívám se nad tím :-) , string nerad porovnávám takhle přímo typovým operátorem rovná se, ono tohle asi php snese, ale třeba z JAVY a C mám zažito, že na string vždy metodami.

Díky

Odpovědět
22.2.2016 16:48
Velice často si věci žijí svým životem
Avatar
Odpovídá na Jaroslav Polívka
Martin Konečný (pavelco1998):22.2.2016 17:21

je pravda, že jinde se to řeší jinak a popravdě ani nevim proč. Taky si nejsem jistý, zda ti to klasické porovnání vezme jakékoliv řetězce, ale nikdy jsem s tím v PHP problém neměl.
Ale jestli ti to udělá radost a chceš to řešit metodami, také jsem slyšel o funkci strcasecmp a bylo to od pana Vrány :D

Odpovědět
22.2.2016 17:21
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Pavel Polívka:16.10.2018 7:49

Ahoj,

u demostrace funkce strtr se nezobrazují obrázky. Bylo by možné to opravit?

 
Odpovědět
16.10.2018 7:49
Avatar
Richard Recman:7.12.2019 12:26

Ahoj, já se chci zeptat, zda poradíte nebo mě přesměrujete, jak naimplementovat vlastním způsobem řetězce jako implode, explode, substr, atd. . Máme to jako projekt do školy a nevím si rady, děkuju za pomoc :)

Editováno 7.12.2019 12:27
 
Odpovědět
7.12.2019 12:26
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 17.