У цьому уроці ми детально розглянемо, що таке рядки в PHP, як їх використовувати, а також розглянемо найпростіші функції маніпуляції з рядками.

 

 

Рядки в PHP: основи

Рядок (string) – це тип даних в PHP та набір символів. У PHP вбудована підтримка 256 різних символів.

Для визначення рядка можна використовувати три різні способи:

  • одинарні лапки
  • подвійні лапки
  • heredoc-синтаксис

 

Вам вирішувати, який спосіб використовувати, адже у кожного з них є свої плюси і мінуси.

Примітка: в уроці використовуються практичні приклади. Щоб перевірити нові знання, рекомендуємо вам створити тестовий PHP файл та запускати його на вбудованому PHP-сервері. Як це зробити ви можете побачити з уроку по PHP 7.

 

  1. Перший і найбільш відомий спосіб – визначити рядок з використанням одинарних лапок. Так само, як і в інших мовах програмування, вам потрібно використовувати зворотну косу риску ‘\‘, якщо ви хочете відобразити в тексті одинарні лапки:
<?php
$stroka_1 = 'Якийсь текст';
$stroka_2 = 'Текст з одинарною лапкою (\')';
echo $stroka_1;
echo $stroka_2;
?>

 

 

  1. Другий варіант полягає у використанні подвійних лапок. У цьому способі можна використовувати змінні в рядку (без закриття рядка), а PHP буде інтерпретувати змінну та відобразить її вміст:
<?php
$stroka_1 = "Якийсь текст";
$stroka_2 = "Текст з подвійними лапками (\")";
$zminna = "Змінна";
$stroka_3 = "У цьому рядку використовується $zminna";
echo $stroka_1;
echo $stroka_2;
echo $stroka_3;
?>

 

Тут найбільш важливою частиною є рядок, визначений як змінна $stroka_3, а її вивід буде наступний:

У цьому рядку використовується Змінна

 

 

  1. І нарешті, ви можете використовувати 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.

 

Recent Posts

Чому обрати освіту за кордоном: переваги для майбутнього вашої дитини

Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…

1 день ago

Як вибрати майстра для перетяжки меблів?

Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…

2 дні ago

Що краще вибрати для хостингу: сервер VPS Windows чи VPS Linux?

Вибір ідеального хостингу під свій сайт може бути досить заплутаною справою, особливо коли існує багато…

1 тиждень ago

Лоуренс Пітер

Щоб уникати помилок, потрібно набиратися досвіду; щоб набиратися досвіду, потрібно робити помилки Лоуренс Пітер  

2 тижні ago

Що таке Чорне СЕО (Black Hat SEO) — вся потрібна інформація

Коротке визначення Чорного SEO Чорне СЕО (або Чорна оптимізація) — це будь-яка практика, метою якої…

2 тижні ago

Права категорії C: кому вони потрібні та як їх отримати?

Отримання прав водія категорії C відкриває двері до професійної діяльності, пов'язаної з керуванням вантажними автомобілями.…

3 тижні ago