Php: робота з рядками. Строкові функції php

Сайти можна розділити на статичні і динамічні. Після освоєння HTML і CSS, які дозволяють зробити красиву візитку в інтернеті, багато хто замислюється, як створити динамічний сайт на PHP. При цьому верстальник повинен враховувати, що тепер він починає вивчати веб-програмування: принципи роботи з сайтом будуть відрізнятися. Одна з перших проблем, з якою стикається початківець в PHP - робота з рядками, їх читання і обробка.

PHP робота з рядкамиВарто відзначити, що в PHP функції роботи з рядками мають на увазі велику кількість методів, тому починати їх вивчення варто з найпростіших маніпуляцій, таких як висновок рядка, пошук, отримання або заміна підрядка, дає змогу змінювати регістр і повернення довжини рядка. Багато функцій погано працюють з кириличними символами. Тому всі приклади написані англійською для наочності. Для кириличних рядків використовуються ті ж функції, але з префіксом mb_ (наприклад, mb_strpos ()). Перш ніж використовувати аналоги, в php.ini необхідно розкоментувати рядок -extension = php_mbstring.dll, просто прибравши крапку з комою.

Створення і виведення рядка

Ми розберемо висновок рядка на екран за допомогою відомої всім мовної конструкції echo. Програміст може вивести рядок відразу:

echo "Це Нова Лінія"

або спочатку створити змінну, а потім вивести її на екран:

$ Str = "Це Нова Лінія";

echo $ str;

Якщо потрібно вивести кілька рядків в одній, то вдаються до їх конкатенації:

echo "це" . " Нова" . " рядок"-

або

$ Str1 = "це"-

$ Str2 = "Нова"-

$ Str3 = "рядок"-

echo $ str1. $ Str2. $ str3-

В останньому випадку на екран буде виведено ЕтоНоваяСтрока. Пропуск можна додати відразу при виклику echo:

echo $ str1. ``. $ Str2. ``. $ str3-

У цьому випадку на екран виведеться: "Це Нова Лінія". Конкатенація можлива не тільки при виведенні, але і при створенні рядка:

$ Str1 = "це"-

$ Str2 = "Нова"-



$ Str3 = "рядок"-

$ String = $ Str1. ``. $ Str2. ``. $ str3-

echo $ string-

Echo виводить як Латинські букви, так і кириличні. Якщо одна з змінних містила число, то при конкатенації це число буде перетворено до відповідного рядка:

$ I = 2

$ Sum = $ i + $ i- // тепер $ sum містить число 4

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

На екран буде виведено: "2 + 2 = 4".

сайт на php

службові символи

Припустимо, рядок визначена за допомогою подвійних лапок ($ string = "Ось так"). Тоді можна абсолютно спокійно використовувати керуючі послідовності:

  • N здійснює переклад рядка;
  • R повертає каретку;
  • " екранує подвійні лапки:
  • echo "рядок з "подвійними" лапками"- // Рядок з "подвійними" лапками
  • $ Екранує долар;
  • Екранує зворотну косу риску.


  • Послідовностей набагато більше, все їх знайти можна в офіційній документації PHP.

    Як знайти позицію першого входження підрядка

    Припустимо, у нас є проста рядок:

    $ String = "My name is Yemelyan and I am 27 year old"-

    Також у нас є два рядки з іменами:

    $ Name = "Yemelyan"-

    $ AnotherName = "Katherin"-

    Нам необхідно дізнатися, чи містить перший рядок ці два імені. Для цього використовується функція strpos ($ str, $ search). Вона повертає позицію шуканої підрядка $ search, якщо цей рядок міститься у вихідній, $ str. В іншому випадку функція повертає логічне значення false. Наприклад, strpos ($ string, $ anotherName) поверне false, а strpos ($ string, $ name) - ціле число. Код буде таким (напишемо варіант, коли позиція виводиться на екран):

    $ String = "My name is Yemelyan and I am 27 year old"-

    $ Name = "Yemelyan"-

    $ AnotherName = "Katherin"-

    echo strpos ($ string, $ anotherName) - // виведе false

    echo strpos ($ string, $ name) - // виведе позицію першого входження підрядка

    Врахуйте, що нумерація рядка починається з нуля, тобто в нашому випадку останній рядок виведе число 11 (прогалини також вважаються).

    Пошук позиції останнього входження підрядка і підводні камені

    Якщо функція strpos () повертає позицію першого входження, то зворотна їй функція strrpos () шукає останнє входження підрядка.

    Тут є деякі підводні камені, пов`язані з початком нумерації. Це варто враховувати: в PHP робота з рядками може бути ускладнена обмеженнями в порівняннях. Так, краще не використовувати операцію порівняння з запереченням: strpos ($ str, $ search)! = False. У будь-якій версії PHP приклади з подібною еквіваленцію можуть працювати неправильно, адже нумерація рядків починається з нуля, а в логічній інтерпретації 0 і є false. Це поширюється і на функцію strrpos ().

    Як знайти число входжень підрядка

    Часто потрібно знайти не позицію першого або останнього входження підрядка в рядок, а загальне їх число. Для цього використовується функція substr_count (), яка обробляє щонайменше дві змінні: substr_count ($ str, $ search). Повертає ціле число. Якщо необхідно зменшити область пошуку по рядку, то в функцію передаються ще дві змінні: початок і кінець рядка відповідно. Тобто функція в цьому випадку викликається так: substr_count ($ str, $ search, $ start, $ end). Функція буде шукати подстроку $ search на проміжку від $ start до $ end початкового рядка $ str. Якщо рядок не буде знайдена, то функція поверне нуль.

    веб програмування

    Як змінити регістр рядки в PHP: приклади

    Зміна регістра часто використовується для порівняння рядків і умовних операторів. Припустимо, користувач повинен ввести ім`я верховного бога в скандинавської міфології. У програмі є варіант "Один", З яким і буде порівнюватися відповідь користувача. Якщо введений текст не буде збігатися з наявним (наприклад, користувач напише "один" або "ОДИН"), То програма поверне значення false замість true. Щоб цього уникнути, застосовується функція зміни регістру. Це часто використовується, якщо сайт на PHP має теги: замість сотні варіантів слова "приватне" ("приватне", "приватне", "ОСОБИСТЕ" і т. п.) є тільки один тег в нижньому регістрі.

    Функція strtolower () змінює регістр на нижній. Припустимо, є рядок $ catName = "Fluffy". Функція strtolower ($ catName) поверне рядок "fluffy". Змінити регістр на верхній можна за допомогою функції strtoupper ().

    Як знайти довжину рядка в PHP: робота з функціями

    Часто потрібно знайти довжину рядка. Наприклад, в PHP робота з рядками такого роду може знадобитися в створенні циклу. Для пошуку рядка використовується функція strlen (), яка повертає число - кількість символів. Не можна забувати, що останній символ буде мати номер strlen ($ str) -1, так як нумерація починається з нуля.

    php робота

    Отримання і заміна підрядка в PHP: робота з рядками

    Отримання підрядка здійснюється функцією substr (), яка може приймати два або три аргументи: substr ($ str, $ start, $ end). Припустимо, у нас є рядок $ string = "Fluffy cat", І ми хочемо отримати підрядок з другого по четвертий символ. Так як нумерація починається з нуля, то змінна з цієї підрядком буде виглядати так: $ newString = substr ($ string, 1, 4). Якщо ж ми введемо $ newString = substr ($ string, 1), то отримаємо подстроку з другого символу по останній (тобто "luffy"). Цей код ідентичний повного коду рядка з використанням strlen (): substr ($ string, 1, strlen ($ string)).

    Для заміни підрядка використовується функція str_replace (), яка приймає три змінні: str_replace ($ subStr, $ newSub, $ str). На відміну від багатьох функцій, str_replace () коректно працює з кириличними символами і не має аналога з префіксом. приклад:

    $ Str = "Сьогодні жахлива погода!"-

    $ NewStr = str_replace ("жахлива", "чудова", $ Str) - // Сьогодні чудова погода!

    Переклад рядка в число

    php прикладиКожному, хто вивчає веб-програмування, рано чи пізно доводиться переводити рядок в число. Для цього використовуються дві схожі функції: intval () і floatval (), кожна з яких приймає одну змінну $ string. Один від одного вони відрізняються тільки типом повертаються даних: intval () повертає ціле число, а floatval () - число з плаваючою крапкою.

    Для використання як intval (), так і floatval () необхідно, щоб рядок починалася з цифр, вони і будуть перетворені в число. Якщо після цифр буде йти будь-який набір букв, вони просто проігнорують. У тому випадку, якщо рядок починається з букв, використання функції поверне нуль. В ідеалі ж рядок повинна містити в собі виключно цифри.

    Переклад числа в рядок

    Часто потрібно перевести числа в рядок. Скажімо, якщо необхідно взяти половинку числа і звести її в квадрат (наприклад, перевірити, чи виконується рівність: 88 х 88 + 33 х 33 = 8833). У цьому випадку використовується функція strval (), яка повертає рядок з числом. Після цього з новим рядком можна здійснювати всі інші дії: змінювати, шукати входження підрядка і інші функції. При необхідності рядок можна знову перевести в число вже описаним вище способом.

    php функції роботи з рядкамиУ статті було розглянуто лише мала частина всіх функцій, пов`язаних з рядками. Частина неописаних функцій працює з символами, але велика не була включена в матеріал через специфічність. Для ознайомлення з цими функціями необхідно перейти до читання офіційної документації по PHP, яка відображає актуальну інформацію.


    Увага, тільки СЬОГОДНІ!


    Поділися, будь ласка статтю
    всього голосів: 174
    Увага, тільки СЬОГОДНІ!