Php рядки

Значеннями типу string є текстові рядки (коротко рядки). Рядок - це послідовність з нуля або більше символів. Символи включають в себе букви, цифри, знаки пунктуації, спеціальні символи і прогалини.

Рядок може бути визначена чотирма різними способами:

  • подвійними лапками
  • одинарними лапками
  • heredoc-синтаксисом
  • nowdoc-синтаксисом

Рядок в подвійних лапках

Рядок в подвійних лапках:

У рядках з подвійними лапками можна використовувати керуючі послідовності. Керуюча послідовність - це спеціальні символи призначені для форматування текстового виведення. У PHP доступні наступні керуючі послідовності:

Переклад на новий рядок (шістнадцятковий код 0A).

Горизонтальна табуляція (шістнадцятковий код 09).

Зворотна коса риска (зворотний слеш).

Символ, заданий однією або двома шестнадцатерічнимі цифрами.

Основною властивістю рядків у подвійних лапках є можливість обробки змінних всередині рядків.

Рядки, укладені в подвійні лапки, можуть містити символи одинарних лапок:

Рядок в одинарних лапках (апострофа)

Рядок в одинарних лапках:

На відміну від рядків в подвійних лапках і heredoc-синтаксису, змінні і керуючі послідовності (за одним винятком), ув'язнені в одинарні лапки, не обробляються. Це означає, що вони будуть інтерпретовані як звичайні символи рядка:

Щоб в рядку, укладеної в одинарні лапки, можна було використовувати одинарні лапки, потрібно їх екранувати за допомогою зворотного слеша (\ '). Якщо необхідно написати саму зворотну косу риску, потрібно продублювати її (\\):

Рядки, укладені в одинарні лапки, можуть містити символи подвійних лапок:

Heredoc-синтаксис

Heredoc-синтаксис - це альтернативний спосіб запису рядків.

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

Heredoc-синтаксис починається з трьох символів <<<. после которых должен быть указан произвольный идентификатор (назовём его открывающим). Идентификатор может быть указан как в двойных кавычках, так и без них. Сразу после идентификатора должен следовать перевод на новую строку, никаких других символов кроме перевода на новую строку после идентификатора не должно быть, иначе возникнет ошибка. Далее идёт непосредственно строковое содержимое. После строкового содержимого, на отдельной строке, должен быть указан закрывающий идентификатор (тот же, что и после <<<). Перед ним и после него не должно быть никаких пробелов или других символов, за исключением точки с запятой. Если это правило нарушено, то считается, что закрывающий идентификатор отсутствует и будет вызвана ошибка:

Nowdoc-синтаксис

Nowdoc-синтаксис також як і Heredoc є альтернативним способом записи рядків.

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

Синтаксис Nowdoc схожий на Heredoc з тією лише різницею, що відкриває ідентифікатор обов'язково повинен бути укладений в одинарні лапки:

Обробка змінних в рядках

Існує два типи синтаксису обробки змінних в рядках: простий і складний.

Простий синтаксис - це коли ім'я змінної вказується в рядку як є.

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

Складний синтаксис - це коли ім'я змінної полягає в фігурні дужки.

Так як, для обробки змінної в рядку, інтерпретатор захоплює так багато символів, на скільки це можливо бувають ситуації коли інтерпретатор не здатний самостійно визначити, де закінчується ім'я змінної:

В даному випадку не буде досягнуто бажаного результату, оскільки інтерпретатор буде вважати $ sport1 як частина імені змінної $ sport1бол. якої не існує.

Щоб явно вказати інтерпретатору, де закінчується ім'я змінної потрібно укласти ім'я змінної у фігурні дужки:

Знак долара може бути розташований як перед фігурною дужкою, так і після неї:

конкатенація

Конкатенація - це об'єднання двох або більше рядків в одну велику. Об'єднання відбувається за допомогою оператора конкатенації -. (крапка). При конкатенації кожна наступна рядок додається в кінець попередньої:

Значення будь-якого типу, яке об'єднується з рядком, буде неявно перетворено в рядок і далі буде проведена конкатенація:

З цією темою дивляться:

Схожі статті