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

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

Ми розберемо виведення рядка на екран за допомогою відомої всім мовної конструкції 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"".


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

Наприклад, рядок визначено за допомогою подвійних лапок ($ 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: робота з рядками

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

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

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

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

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

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

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

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

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

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