Відмінності між версіями «String (рядка)»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Створена сторінка: Можливість однозначно ідентифікувати змінну дозволила розробникам PHP дати можливість п…)
 
 
Рядок 21: Рядок 21:
  
 
В цьому випадку значенням змінної буде весь текст, що міститься між початковим і кінцевим маркерами (в даному випадку це рядок HERE, але цей маркер може бути будь-якою послідовністю символів). Ознакою того, що це here doc, є наявність << безпосередньо після знаку присвоєння. Даний механізм дуже зручний у випадку, якщо рядку необхідно присвоїти якийсь складний текст, особливо, якщо необхідно зберегти його форматування. До речі, в разі використання here docs ви також маєте можливість використання змінних усередині рядка як це було описано раніше.  
 
В цьому випадку значенням змінної буде весь текст, що міститься між початковим і кінцевим маркерами (в даному випадку це рядок HERE, але цей маркер може бути будь-якою послідовністю символів). Ознакою того, що це here doc, є наявність << безпосередньо після знаку присвоєння. Даний механізм дуже зручний у випадку, якщо рядку необхідно присвоїти якийсь складний текст, особливо, якщо необхідно зберегти його форматування. До речі, в разі використання here docs ви також маєте можливість використання змінних усередині рядка як це було описано раніше.  
 +
<h3 style="color:#A020F09">Робота з рядками</h3>
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Рядки ділять на два класи — рядки, що підлягають аналізу, та ті, що не підлягають. Перший клас досліджується інтерпретатором на наявність посилань на інші змінні, і за умови їхньої наявності робиться підстановка значень у відповідне місце. Крім того, клас дозволяє проводити маніпуляції з керівними символами. Символ рядка може мати лише одне з 256 значень, але є можливість працювати з багатобайтовими символами. Доступ до символів рядка можливий з використанням синтаксису, схожого на доступ до елементів масивів.<br>
 +
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PHP надає широкий спектр функцій для пошуку та заміни тексту в рядках. Для цього використовують як традиційний підхід, так і спеціальний, що базується на використанні регулярних виразів. При цьому в мові реалізована підтримка двох видів регулярних виразів — [[Perl]]-сумісні та [[POSIX]]-сумісні, що розрізняються за синтаксисом та особливостями роботи.<br>
  
  

Поточна версія на 08:03, 30 квітня 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