nisfarm.ru

PHP: práce s řetězci. PHP String Funkce

Stránky lze rozdělit na statické a dynamické. 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.

PHP pracuje s řetězciStojí za zmínku, že v PHP Funkce řetězce zahrnují velké množství metod, takže jejich studium začíná nejjednoduššími manipulacemi, jako je výstup řetězce, hledání, získání nebo nahrazení podřetězce, změna registru a vracení délky řetězce. Mnoho funkcí nefunguje dobře s cyrilskými znaky. Proto jsou všechny příklady psány v angličtině pro přehlednost. Pro cyrilické řetězce se používají stejné funkce, ale s předponou mb_ (například mb_strpos ()). Před použitím analogů musíte oddělit řádek -extension = php_mbstring.dll v php.ini jednoduchým odstraněním středníkem.

Vytváření a zobrazování řetězce

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é". "String"

nebo

$ str1 = "Toto" -

$ str2 = "Nový" -

$ str3 = "Řetězec" -

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 = "Řetězec" -

$ string =$ str1. ``. $ str2. ``. $ str3-

echo $ string-

Echo zobrazí obě Latinské písmeny, a cyrilice. 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- // $ $ sum obsahuje číslo 4

echo $ i. "+". $ i. "=". $ sum-

Na obrazovce se zobrazí: "2 + 2 = 4".

web na php

Symboly služeb

Řekněme, že řetězec je definován pomocí dvojitých uvozovek ($ string = "That`s it"). Potom můžete řídit sekvence zcela klidně:

  • n provede přerušení řádku;
  • vrátí vozík;
  • "uniká dvojitá uvozovky:
  • echo "Řetězec s " dvojitými uvozovkami "- // Řetězec s" dvojitými uvozovkami "
  • $ chrání dolar;
  • uniká zpětné lomítko.
  • Sekvence jsou mnohem větší, všechny lze nalézt v oficiální dokumentaci PHP.

    Jak najít pozici prvního výskytu podřetězec

    Ř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 obsahuje tato 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 ($ řetězec, $ jinéName) - // print false

    echo strpos ($ string, $ name) - // vytiskne 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).

    Vyhledání polohy posledních výskytů podřetězců a úskalí

    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é s počátkem čí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 libovolné verzi PHP mohou příklady s takovým ekvivalentem nefungovat správně, protože číslování řádků začíná od nuly a v logické interpretaci 0 je falešná. To platí také pro funkci strrpos ().

    Jak zjistit počet výskytů podřetězec

    Často je nutné najít místo prvního nebo posledního výskytu podřetězec v řetězci, ale 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 oblast hledání snížit o řetězec, 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.

    web programování

    Jak změnit případ řetězce v PHP: příklady

    Změna registru se často používá k porovnání řetězců a podmíněných operátorů. Předpokládejme, že uživatel musí zadat jméno nejvyššího boha Skandinávská bájesloví. 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á v případě, že web je v PHP značek: Namísto stovek variant slova „soukromí“ (.. „Private“, „soukromý“, „osobní“ a tak dále), je tam jen jeden tag malými písmeny.

    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 ().

    Jak najít délku řetězce v PHP: pracovat s funkcemi

    Č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.

    php práce

    Získávání a nahrazení podřetězců v PHP: práce s řetězci

    Substring se získá 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 bychom zavést $ newString = substr ($ string, 1), dostaneme retezec od druhého do posledního znaku (tedy „Luffy“). Tento kód je shodný s kódem celé řady pomocí strlen (): substr ($ string, 1, strlen ($ string)).

    Chcete-li nahradit podřetězec je funkce použita str_replace (), která trvá 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) - // Dnešní nádherné počasí!

    Převedení řetězce na číslo

    php příkladyKaždý, kdo studuje webové programování dříve nebo později, musí přeložit řetězec do čísla. Pro tento účel se používají dvě podobné funkce: intval () a floatval (), z nichž každá má jeden proměnný $ řetězec. Odlišují se od sebe pouze v typu vrácených dat: intval () vrací celé číslo a floatval () je číslo s plovoucí desetinnou čárkou.

    Chcete-li použít jak intval (), tak i floatval (), je nutné, aby řetězec začínal číslicemi a budou převedeni 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.

    Převedení čísla na řetězec

    Často je třeba přeložit čísla do řetězce. Řekněme, že pokud potřebujete uložit polovinu čísla a uložit ji (například zkontrolujte, zda je rovnost splněna: 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.

    php řetězcové funkceV článku se zvažovala pouze malá část všech funkcí souvisejících s řetězci. Některé z neopísaných funkcí pracují se symboly, ale velká nebyla v materiálu obsažena kvůli specifičnosti. Chcete-li se seznámit s těmito funkcemi, musíte se podívat na oficiální dokumentaci PHP, která zobrazuje nejnovější informace.

    Sdílet na sociálních sítích:

    Podobné
© 2021 nisfarm.ru