Пошук рядка в рядку PHP: опис можливостей


Опубликованно 24.03.2018 10:56

Пошук рядка в рядку PHP: опис можливостей

PHP пропонує використовувати різні варіанти пошуку рядків в інших рядках. Є звичайні функції. Є можливість використання регулярних виразів. Розробник може розробити власний варіант пошуку інформації при дотриманні правил синтаксису.

Пошук рядків не обмежується фактом підтвердження наявності потрібного символу або рядки в потрібному місці. Рядком може виступати об'єкт - це більш ємна інформаційне поняття, ніж просто рядок. Пошук особливо ефективний, коли момент виявлення супроводжується негайним прийняттям рішення, а не вимагає додаткової обробки. Основні функціональні можливості пошуку

Пошук рядка в рядку PHP - функція strpos(). Її результат - або булевое значення, чи позиція входження шуканого (другий параметр) у рядку (перший параметр) з позиції (третій параметр). Якщо останній параметр не заданий, пошук виконується з нульової позиції рядка.

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

Шукати рядки у рядках можна з урахуванням регістра, з першого або останнього входження і використовувати регулярні вирази. Як і у всіх інших випадках, істотне значення має кодування сторінки, на якій знаходиться скрипт.

В деяких випадках доцільно використовувати варіант iconv_strpos(), а не просто strpos(). У переважній більшості випадків пошук підрядка в рядку PHP забезпечить ідеально точно: достатньо тримати кодування сторінки і рядки в одному кодуванні. Особливості стандартного підходу

Якщо пошук підрядка в рядку PHP не має результату: шуканого немає, і результат буде логічним значенням. Однак якщо шукана рядок починається з нульової позиції, то це слід виділити особливо в операціях порівняння і аналізу результату. Коли результат дорівнює 0 - це ненабагато далі відстоїть від результату false.

На відміну від JavaScript, щодо рядків PHP більш консервативний, і для нього донині рядка - це рядки. Робота з ними - це рядкові функції: від простих рівня strpos до складних, використовують регулярні вирази.

Шукати потрібно, щоб:прийняти рішення про направлення алгоритму;замінити шукане на інше;перевірити подія;збільшити лічильник статистики та ін.

Це звична логіка алгоритму, JavaScript пішов далі і визнав «рядка» об'єктами. Але одного визнання на практиці мало. Якщо абстрагуватися від поняття «рядок» і розуміти під ним реальний об'єкт, питання "пошук рядка в рядку" PHP дозволить сформулювати в контексті реального методу, наприклад, яблуко може бути стиглим, не тільки коли воно червоне.

Класичний пошук слова "червоне" в описі яблука не є гарантія достовірної відповіді про стиглості фрукта. Якщо яблуко представлено не рядком, а об'єктом, то пошук рядка в рядку PHP не виконає як strpos, а як метод реального об'єкта. При цьому немає ніякої гарантії, що в тілі методу буде використовуватися саме функція strpos. Стандартні функції нестандартних рішень

Характерна риса звичної обробки інформації (людиною): позиція, де що знаходиться, має значення, коли саме вона є метою або рішенням. У всіх інших випадках не важливо, де що є, важливо, що воно позначено і є підставою для подальших дій.

Побічно пошук рядка в рядку PHP виконує функції trim, str_replace та інших. Цікавий варіант пошуку доступний при спільному застосуванні explode/implode та маніпулювання масивами.

Якщо використовувати всю функціональність PHP, пошук у рядку легко набуває семантику, виходить за рамки звичного синтаксису і стає причиною для набуття реального сенсу. Маніпулювання змістом для людини звичніше, для алгоритму безпечніше, а трансформація рядків об'єкти - це перехід від машинних кодів у світ сучасних мов програмування.



Категория: Техника