Уроки PHP – рядки
У цьому уроці ми детально розглянемо, що таке рядки в PHP, як їх використовувати, а також розглянемо найпростіші функції маніпуляції з рядками.
Рядки в PHP: основи
Рядок (string) – це тип даних в PHP та набір символів. У PHP вбудована підтримка 256 різних символів.
Для визначення рядка можна використовувати три різні способи:
- одинарні лапки
- подвійні лапки
- heredoc-синтаксис
Вам вирішувати, який спосіб використовувати, адже у кожного з них є свої плюси і мінуси.
Примітка: в уроці використовуються практичні приклади. Щоб перевірити нові знання, рекомендуємо вам створити тестовий PHP файл та запускати його на вбудованому PHP-сервері. Як це зробити ви можете побачити з уроку по PHP 7.
- Перший і найбільш відомий спосіб – визначити рядок з використанням одинарних лапок. Так само, як і в інших мовах програмування, вам потрібно використовувати зворотну косу риску ‘
\
‘, якщо ви хочете відобразити в тексті одинарні лапки:
<?php $stroka_1 = 'Якийсь текст'; $stroka_2 = 'Текст з одинарною лапкою (\')'; echo $stroka_1; echo $stroka_2; ?>
- Другий варіант полягає у використанні подвійних лапок. У цьому способі можна використовувати змінні в рядку (без закриття рядка), а PHP буде інтерпретувати змінну та відобразить її вміст:
<?php $stroka_1 = "Якийсь текст"; $stroka_2 = "Текст з подвійними лапками (\")"; $zminna = "Змінна"; $stroka_3 = "У цьому рядку використовується $zminna"; echo $stroka_1; echo $stroka_2; echo $stroka_3; ?>
Тут найбільш важливою частиною є рядок, визначений як змінна $stroka_3
, а її вивід буде наступний:
У цьому рядку використовується Змінна
- І нарешті, ви можете використовувати heredoc-синтаксис. В цьому випадку ви поміщаєте потрібний текст між ідентифікаторами heredoc. В даному випадку ідентифікатором виступає
HTML
(ви можете використовувати інший). Вам потрібно вказати перед ідентифікатором оператор<<<
. Рядок закривається ідентифікатором та крапкою з комою:
<?php $stroka_1 = <<<HTML Тут ми використовуємо heredoc-синтаксис. Дуже важливо, щоб рядок з закриваючим ідентифікатором не містив інших символів, за винятком крапки з комою (;). Перед ідентифікатором не повинно бути пробілів, а перед, та після крапки з комою не повинно бути ніяких пробілів або знаків табуляції. HTML; echo $stroka_1; ?>
В результаті текст буде виведений з використанням зазначеного формату – з урахуванням відступів і нових рядків. У цьому способі так само можна використовувати змінні, як і у випадку рядків в подвійних лапках.
Спосіб №2 є найбільш цікавою версією визначення рядка, тому давайте ще трохи подивимося, як використовувати змінні в рядках.
Розбір змінних в рядку
Іноді вам може знадобитися використовувати змінні в рядку. Наприклад, якщо у вас в змінну записується ім’я користувача, і ви хочете привітати цього користувача по імені, наприклад, так:
"Привіт, Іван, радий тебе бачити!"
Плюс цього методу полягає в тому, що ви можете використовувати змінну типу $userName
, в яку буде записано ім’я поточного користувача. І з використанням змінної ви будете показувати кожному користувачеві його унікальне ім’я. Якщо використовувати рядок в одинарних лапках, це може виглядати так:
<?php $userName = "Іван"; echo 'Привіт '. $userName .', радий тебе бачити!'; ?>
Використовуючи подвійні лапки, це можна зробити простіше:
<?php $userName = "Іван"; echo "Привіт $userName, радий тебе бачити!"; ?>
Конкатенація рядків
Як ви могли бачити в попередньому прикладі, ми використовували конкатенацію (об’єднання) рядків. Тепер давайте подивимося в деталях, як ми можемо ще об’єднувати рядки.
У PHP ви можете об’єднати рядок, використовуючи оператор конкатенації – крапку (.
). Нижче розглянуті різні способи об’єднання рядків:
<?php // Використовуємо тільки один тип лапок $stroka_1 = "Це "."якийсь"." тестовий "."текст"; // Використовуємо різні типи лапок $stroka_2 = 'Це '."якийсь".' тестовий текст'; // Або розділяємо рядок на кілька рядків $stroka_3 = "Це"; $stroka_3 .= " якийсь"; $stroka_3 .= " тестовий текст"; $stroka_4 = "Це" . " якийсь" . " тестовий текст"; ?>
Маніпулювання рядками
У цьому пункті ми розглянемо маніпулювання рядками тільки по символам. Як ви знаєте, рядки являють собою набір символів. Це означає, що ви можете використовувати цей набір як окремий рядок. Наприклад, якщо у вас є строкова змінна $name
зі значенням «Ivan», ви можете отримати доступ до першої букви (I) використовуючи такий запис $name[0]
:
<?php $name = 'Ivan'; for ($i = 0; $i < 5; $i++){ echo "{$name[$i]}<br>"; } ?>
І якщо ви можете отримати доступ до набору символів, ви, звичайно, можете змінювати елементи один за другим, наприклад, так:
<?php $name = 'Ivan'; $name[4] = 'o'; $name[5] = 'v'; echo $name; ?>
Тут ми додали нові символи до масиву символів, в результаті повинно вийти Ivanov. Якщо вам потрібно змінити певний символ, тоді використовуйте його індекс з новим значенням. Наприклад, щоб замінити букву ‘n‘, використовуйте наступну конструкцію:
$name[3] = 's';
Тоді вийде Ivasov. Не забувайте, що відлік йде не з одиниці, а з нуля, тобто, перший символ має індекс 0.