Stránky lze rozdělit na statické adynamické. Po osvojení HTML a CSS, které vám umožňují vytvořit krásnou vizitku na internetu, mnoho lidí přemýšlí, jak vytvořit dynamickou stránku v PHP. Současně by mělo rozložení vzít v úvahu, že nyní začíná studovat programování na webu: zásady práce s místem se liší. Jeden z prvních problémů, kterým začátečník v PHP čelí, je pracovat s řetězci, číst a zpracovávat je.
Budeme analyzovat výstup řetězce na obrazovku pomocí známého konstrukce jazyka echo. Programátor může vygenerovat řetězec najednou:
echo "Toto je nový řetězec"
nebo nejprve vytvořte proměnnou a poté ji zobrazte na obrazovce:
$ str = "Toto je nový řetězec";
echo $ str;
Pokud potřebujete zobrazit několik řádků v jednom, pak se uchýlí k jejich zřetězení:
echo "To". "Nové". "Řádek";
nebo
$ str1 = "Toto";
$ str2 = "Nový";
$ str3 = "String";
echo $ str1. $ str2. $ str3;
V druhém případě se zobrazí obrazovka Toto je nový řetězec. Okamžitě můžete přidat místo voláním echa:
echo $ str1. "". $ str2. "". $ str3;
V takovém případě se na obrazovce zobrazí: "Toto je nová linka". Zřetězení je možné nejen při výstupu, ale také při vytváření řetězce:
$ str1 = "Toto";
$ str2 = "Nový";
$ str3 = "String";
$ string = $ str1. "". $ str2. "". $ str3;
echo $ string;
Echo zobrazuje jak latinské písmena, tak i písmena cyrilika. Pokud některá z proměnných obsahuje číslo, pak po zřetězení bude toto číslo převedeno na odpovídající řádek:
$ i = 2;
$ sum = $ i + $ i; // $ $ součet obsahuje číslo 4
echo $ i. "+". $ i. "=". $ sum;
Na obrazovce se zobrazí: "2 + 2 = 4".
Řekněme, že řetězec je definován pomocí dvojitých uvozovek ($ string = "That's it"). Potom můžete řídit sekvence zcela klidně:
Sekvence jsou mnohem víc, najdete je všechny v oficiální dokumentaci PHP.
Řekněme, že máme jednoduchou linku:
$ string = "Moje jméno je Yemelyan a mám 27 let";
Také máme dvě řádky s názvy:
$ název = "Yemelyan";
$ anotherName = "Katherin";
Musíme zjistit, zda první řádek obsahujetyto dvě jména. Chcete-li to provést, použijte funkci strpos ($ str, $ search). Vrací polohu vyhledávacího podřetězec $ search, pokud je tento řádek obsažen v originálu, $ str. V opačném případě funkce vrátí Boolean hodnotu false. Například strpos ($ string, $ otherName) vrátí false a strpos ($ string, $ name) je celé číslo. Kód bude takto (varianta zapíšeme, když se na obrazovce zobrazí pozice):
$ string = "Moje jméno je Yemelyan a mám 27 let";
$ název = "Yemelyan";
$ anotherName = "Katherin";
echo strpos ($ string, $ jinéName); // tisknout false
echo strpos ($ řetězec, $ název); // vytiskněte polohu prvního výskytu podřetězce
Všimněte si, že číslování řádků začíná od nuly, tj. V našem případě bude poslední řádek vytisknout číslo 11 (také jsou zvažovány mezery).
Pokud funkce strpos () vrátí pozici prvního výskytu, funkce inverzní strrpos () vyhledá poslední výskyt podřetězec.
Tam jsou některé nástrahy spojené szačátek číslování. To stojí za zvážení: v PHP může být práce s řetězci komplikována omezeními v porovnávání. Takže je lepší nepoužívat porovnávací operaci s negací: strpos ($ str, $ search)! = False. V každém verzi PHP s ukázkami takové rovnocennosti nemusí fungovat správně, protože číslování řádek začíná na nule, a 0 logický výklad je falešný. To platí také pro funkci strrpos ().
Často musíte najít místo první neboposlední výskyt podřetězce v řetězci a celkový počet podřetězců. K tomu použijte funkci substr_count (), která zpracovává alespoň dvě proměnné: substr_count ($ str, $ search). Vrátí celé číslo. Chcete-li omezit rozsah vyhledávání na řádek, předávají se další dvě proměnné: začátek a konec řádku. To znamená, že v tomto případě se funkce nazývá takto: substr_count ($ str, $ search, $ start, $ end). Funkce vyhledá vyhledávací řetězec $ v intervalu od $ start to $ end původního řetězce $ str. Pokud řetězec není nalezen, funkce se vrátí k nule.
Změna registru je často používánaporovnání řetězců a podmíněných příkazů. Předpokládejme, že uživatel by měl zadat jméno nejvyššího boha ve skandinávské mytologii. Program má možnost "One", s níž bude uživatelská odezva porovnávána. Pokud zadaný text neodpovídá zadanému textu (například uživatel napíše "jeden" nebo "ONE"), program vrátí hodnotu false namísto true. Abyste tomu předešli, použije se funkce změny registru. To se často používá, pokud má web v PHP tagy: namísto stovek variant slov "personal" ("personal", "personal", "personal" atd.) Je pouze malá značka malá.
Funkce strtolower () změní případ na nižší. Předpokládejme, že existuje řádek $ catName = "Fluffy". Funkce strtolower ($ catName) vrací řetězec "načechraný". Změňte registr na horní pomocí funkce strtoupper ().
Často je nutné najít délku řetězce. Například v PHP budete možná muset pracovat s linkami tohoto typu při vytváření smyčky. Chcete-li najít řetězec, použijte funkci strlen (), která vrátí číslo - počet znaků. Nesmíme zapomenout, že poslední znak bude mít číslo strlen ($ str) -1, protože číslování začíná od nuly.
Podřetězec je získán funkcísubstr (), který může mít dva nebo tři argumenty: substr ($ str, $ start, $ end). Předpokládejme, že máme řetězec $ string = "Fluffy cat" a chceme získat substring od druhého do čtvrtého znaku. Protože číslování začíná od nuly, bude proměnná s tímto podřetězcem vypadat takto: $ newString = substr ($ string, 1, 4). Pokud zadáme $ newString = substr ($ string, 1), získáme podřetězec od druhého znaku k poslednímu znaku (tj. "Luffy"). Tento kód je shodný s kódem celé řady pomocí strlen (): substr ($ string, 1, strlen ($ string)).
Chcete-li nahradit podřetězec, použijte funkcistr_replace (), který obsahuje tři proměnné: str_replace ($ subStr, $ newSub, $ str). Na rozdíl od mnoha funkcí str_replace () pracuje správně s cyrilikovými symboly a nemá analog s předponou. Příklad:
$ str = "Dnes je strašné počasí!";
$ newStr = str_replace ("hrozný", "úžasný", $ str); // Dnes je nádherné počasí!
Chcete-li použít jak intval (), tak floatval ()Je nutné, aby linka začínala číslicemi a budou převedena na číslo. Pokud po číslicích jde o libovolnou sadu dopisů, jsou jednoduše ignorovány. V případě, že řetězec začíná písmeny, použití funkce se vrátí k nule. V ideálním případě by linka měla obsahovat pouze čísla.
Často je třeba přeložit čísla do řetězce. Například, pokud chcete, aby polovinu a postavit náměstí (například zkontrolovat, zda je splněna rovnice: 88 x 88 + 33 x 33 = 8833). V tomto případě se použije funkce strval (), která vrátí řetězec s číslem. Poté můžete provést všechny další akce s novým řádkem: změnit, vyhledávat výskyt podřetězce a další funkce. Je-li to nutné, linku lze znovu přeložit do čísla již popsaného výše.