Строкові функції в php

Відео: Строкові функції [PHP - Урок 27]

Строкові функції в PHP

Рядки - це один з основних типів змінних в PHP. І з ними доводиться працювати нарівні з числами, з Булевського змінними і масивами. Зрозуміло, розробники PHP, щоб полегшити нам роботу з рядками, вже вбудували багато готових функцій для нас. І про самих часто використовуваних ми і поговоримо.

Почнемо з функції, яку я використовую при роботі з рядками в PHP регулярно - strlen (). Ця функція повертає довжину рядка (кількість символів в рядку):

lt ;?php
$ str
="This is my string"-
echo strlen
($ str) -
?gt;

Думаю, що дана функція в коментарів не потребує.

Також є дві часто використовувані рядкові функції - це strtolower () і strtoupper (). Ці функції дозволяють перевести рядок в нижній і верхній регістр відповідно:

lt ;?php
$ str
="This is my string"-
echo strtolower
($ str)."
"
-
echo strtoupper
($ str) -
?gt;

Дуже корисна строкова функція - substr (), яка повертає підрядок з початкового рядка:

Відео: Вивчаємо PHP | Урок №23 - Функції для роботи з масивами

lt ;?php
$ str
="This is my string"-
echo substr
($ str,1)."
"
-
echo substr
($ str,4,2)."
"
-
?gt;



Як бачите, дана функція може містити два, або три параметра. Перший параметр - це вихідна рядок, другий параметр - це номер символу в заданій стрічці, який потім стане першим в отриманої рядку. Зверніть увагу: нумерація символів починається з 0 (Тобто в нашому прикладі, 1-ий символ - "h"). Третій параметр означає довжину рядка, яку ми хочемо отримати. Якщо цей параметр не заданий, то повертається рядок, починаючи з другого параметра і до кінця рядка. Загалом, дивіться на результат, і Вам все стане ясно.

Ще одна корисна строкова функція в PHP - це str_replace (). Як випливає з назви, дана функція повертає рядок із заміною певної частини:

lt ;?php
$ str
="This is my string"-
echo str_replace
("My","Your", $ str) -
?gt;



На виході у нас вийшла наступна рядок: "This is your string". Тобто дана функція замінила рядок, задану першим параметром, на рядок, задану другим параметром, в рядку, заданої третім параметром, і повернула результат.

І остання функція, яку ми з Вами розглянемо, - це strpos (). Ця функція шукає входження підрядка в рядок і повертає номер першого символу входження (нагадую, що нумерація символів починається з 0, а не з 1):

lt ;?php
$ str
="This is my string"-
echo strpos
($ str,"Is") -
?gt;

Як бачите, дана функція дуже проста і дуже важлива, тому що дозволяє здійснювати пошук в рядку. також у функції strpos () є ще один необов`язковий параметр, що задає зміщення. Нагадую, що дана функція шукає перше входження. Наприклад, в нашому прикладі "is"Зустрічається в рядку двічі, але повернула ця функція номер символу при першому входженні. Тому для того, щоб отримати номери і інших входжень необхідно ставити третій параметр - зміщення:

lt ;?php
$ str
="This is my string"-
echo strpos
($ str,"Is",4) -
?gt;

Таким чином, тепер ми отримали номер символу в наступному входженні. І, наостанок, хочеться сказати, що якщо входження не буде знайдено, то функція поверне false. І ось на цьому моменті у багатьох бувають помилки. Давайте наведу простий приклад:

lt ;?php
$ str
="This is my string"-
if(strpos($ str,"Th")==false) echo "Рядок не знайдений"-
else echo "Рядок знайдена"-
?gt;

Очевидно, що "Th"Міститься в заданій стрічці, і номер символу першого входження - це 0. Але якщо Ви запустите цей скрипт, то побачите, що "рядок не знайдена". Чому? Якщо Ви читали статтю про операторі еквівалентності, то без проблем відповісте на це питання. Однак, якщо немає, то пояснюю. Справа в тому, що так як у нас функція strpos () повернула 0, а 0 з точки зору PHP - це false, то він без проблем зробив висновок про те, що умова істинно (адже зліва false і справа false). Як бути? Відповідь проста: скористатися оператором еквівалентності (позначається ===), Який порівнює не тільки значення (які в нашому прикладі рівні для PHP), Але і їх типи:

lt ;?php
$ str
="This is my string"-
if(strpos($ str,"Th")===false) echo "Рядок не знайдений"-
else echo "Рядок знайдена"-
?gt;

І ось тепер Ви побачите, що "рядок знайдена". Як бачите, оператор еквівалентності може заявити про себе в будь-яку хвилину, і завжди потрібно про нього пам`ятати, інакше Вам не уникнути важкодоступних помилок.

Звичайно, це далеко не весь набір строкових функцій, які нам надали розробники PHP, але я, виходячи зі своєї практики, привів Вам список самих часто використовуваних строкових функцій в PHP.

Поділися в соціальних мережах:

Схожі
Робота з масивами в phpРобота з масивами в php
Робота з каталогами в phpРобота з каталогами в php
Функції для роботи з dnsФункції для роботи з dns
Що таке фільтри в php.Що таке фільтри в php.
Створення динамічної функції на phpСтворення динамічної функції на php
Вивчаємо sass. Функції.Вивчаємо sass. Функції.
Об`єкт string в jаvascriptОб`єкт string в jаvascript
Робота з файлами в phpРобота з файлами в php
Функції для роботи з регулярними виразами в phpФункції для роботи з регулярними виразами в php
Математичні функції в phpМатематичні функції в php
» » Строкові функції в php