Уроки 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 = "Текст с двойной кавычкой (\")";  $peremennaya = "Переменная";  $stroka_3 = "В этой строке используется $peremennaya";  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.