String (рядки)

Матеріал з Вікі ЦДУ
Версія від 07:32, 25 травня 2010; Гулий Елена (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Можливість однозначно ідентифікувати змінну дозволила розробникам PHP дати можливість програмістам використовувати змінні безпосередньо усередині рядків! Приклад подібного використання:

$name = "john";
$age = 23;
echo "$name is $age years old";

Як результат ми отримаємо рядок: John is 23 years old. Це дуже зручно. Проте необхідно звернути вашу увагу на одну деталь - в PHP, на відміну від багатьох інших мов, розрізняються рядки, взяті в одинарні і подвійні лапки. І подібне заміщення імен змінних їх значеннями виробляється лише в рядках, взятих в подвійні лапки! Дуже важливо завжди пам'ятати про це, щоб уникнути помилок. Рядки в подвійних лапках можуть містити і складніші вирази. Для цього необхідно вкласти їх у фігурні дужки:

$man = array("john",23);
echo "{$man[0]} is {$man[1]} years old";

Результат буде таким же, як і в попередньому прикладі. Ще однією цікавою особливістю роботи PHP з рядками є підтримка так званого способу here docs. Нижче наведений приклад:

<var="PHPist";
$text=<<HERE $var
HERE;
echo $text;
?>

В цьому випадку значенням змінної буде весь текст, що міститься між початковим і кінцевим маркерами (в даному випадку це рядок HERE, але цей маркер може бути будь-якою послідовністю символів). Ознакою того, що це here doc, є наявність << безпосередньо після знаку присвоєння. Даний механізм дуже зручний у випадку, якщо рядку необхідно присвоїти якийсь складний текст, особливо, якщо необхідно зберегти його форматування. До речі, в разі використання here docs ви також маєте можливість використання змінних усередині рядка як це було описано раніше.

Робота з рядками

     Рядки ділять на два класи — рядки, що підлягають аналізу, та ті, що не підлягають. Перший клас досліджується інтерпретатором на наявність посилань на інші змінні, і за умови їхньої наявності робиться підстановка значень у відповідне місце. Крім того, клас дозволяє проводити маніпуляції з керівними символами. Символ рядка може мати лише одне з 256 значень, але є можливість працювати з багатобайтовими символами. Доступ до символів рядка можливий з використанням синтаксису, схожого на доступ до елементів масивів.

     PHP надає широкий спектр функцій для пошуку та заміни тексту в рядках. Для цього використовують як традиційний підхід, так і спеціальний, що базується на використанні регулярних виразів. При цьому в мові реалізована підтримка двох видів регулярних виразів — Perl-сумісні та POSIX-сумісні, що розрізняються за синтаксисом та особливостями роботи.











Перейти до Змінні та типи данних в PHP