Початківцям веб-програмістам PHP: довжина рядка
Будь-який поважаючий себе веб-програміст повинен знати мову РНР, який може використовуватися для створення веб-сторінок. Ця мова заснований на С і С ++, і тому в ньому присутня безліч конструкцій, характерних для цієї мови. Наприклад, в PHP довжина рядка повертається функцією з такою ж назвою, як і в С. Ця стаття розповідає про рядках, а також про операції, які можна виконувати з ними.
Але перш ніж говорити про функції, дамо основне визначення. Рядок - це послідовність символів, кожен з яких займає рівно один байт. Значить, в РНР підтримується 256 символів. З цього логічно випливає, що підтримка Юнікоду в даній мові відсутня - адже в Юникоде символів набагато більше.
Які ж операції з рядками є в PHP? Довжина рядка, їх конкатенація (з'єднання), повернення коду символу і навпаки - найпростіші приклади. Є й складніше - пошук підрядка, хешування, інвертування. А є й такі як видалення тегів, пошук за шаблоном, розбивка на підрядка за допомогою роздільника ... Всього не перерахуєш! Тому ми розповімо про найбільш поширені і корисних з них.
Найперша і часто використовувана функція в PHP - довжина рядка. Називається вона strlen, а як параметр приймає одну-єдину послідовність символів. Все просто.
$ Foo = "foo" -
$ Bar = strlen ($ foo) - // $ bar дорівнює трьом
?>
У PHP довжина рядка може дорівнювати нулю. Така рядок називається порожньою.
Наступна функція - конкатенація або злиття. Простіше кажучи, вона з двох рядків робить одну.
$ Foo = "Привіт," -
$ Bar = "мир!" -
$ Baz = concat ($ foo, $ bar) -
echo $ baz- // виведе "Привіт, світ!"
?>
Є і дві зворотні функції для роботи з окремими символами. Ord - повертає код символу, а chr - визначає символ за кодом.
$ Foo = "q" -
$ Bar = ord ($ foo) - // $ bar дорівнює 113
$ Baz = chr ($ bar) - // $ baz дорівнює "q"
?>
Не можна не згадати ще про одну цікаву функції - date. У PHP рядки можуть використовуватися як шаблон для виведення часу. Наприклад, якщо передати в date рядок "H: m: s" і вивести результат, то на екрані з'явиться поточний час сервера, розділене двокрапкою, наприклад, "11:08:34".
Тепер розглянемо функцію explode. Вона розбиває рядок на елементи, вважаючи кордоном кожного вказаний символ. Звучить досить складно, але насправді все досить зрозуміло. Наприклад, є рядок "root | 12: 56: 49 | wheel". Тоді можна написати так:
$ Foo = explode ("root | 12: 56: 49 | wheel", "|") -
У підсумку масив $ foo буде містити три елементи - "root", "12:56:49", "wheel". Якщо при виклику функції не вказувати роздільник, то за замовчуванням він буде вважатися прогалиною. Є ще один необов'язковий параметр - максимальна кількість виділюваних подстрок.
Наступна функція видаляє з рядка HTML-теги. Називається вона strip_tags. Як і у функції explode, у неї є необов'язковий другий параметр - список тегів, які необхідно залишити.
Прості функції - конкатенація, пошук підрядка, довжина рядка - PHP інтерпретує досить швидко. А ось обробка пошуку за шаблоном або видалення тегів може виконуватися досить довго. Тому програми потрібно складати грамотно, з урахуванням того, що її виконання займає певний час. Нормальний скрипт повинен виконуватися максимум 10 секунд, а після цього потрібно відобразити хоча б частину веб-сторінки, інакше користувач з неї піде. Але зазвичай веб-додатки працюють набагато швидше, адже РНР-код виконується на сервері, і браузер приймає сформовану на основі скрипта сторінку, в якій міститься висновок PHP-скрипта.