Уроки PHP – рядки

У цьому уроці ми детально розглянемо, що таке рядки в 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.