Пошук елемента в рядку

 

Для того щоб визначити, чи входить даний підрядок до складу рядка, використовується функція strpos (). Синтаксис strpos () такий:

strpos (вихідний рядок, рядок для пошуку
[, З якого символу шукати])

Вона повертає позицію появи шуканого рядку у вхідному рядку або повертає логічне false, якщо входження не знайдено. Додатковий аргумент дозволяє задавати символ, починаючи з якого буде проводитися пошук. Крім логічного false ця функція може повертати і інші значення, які приводяться до false (наприклад, 0 або ""). Тому для того, щоб перевірити, чи знайдений шуканий рядок, рекомендують не використовувати оператор еквівалентності «===».

Приклад. Використання функції strpos ()

<? 
$str = "Ідея наносити дані на перфокарти 
і потім зчитувати та обробляти їх 
автоматично належала Джону Біллінгс, 
а її технічне рішення здійснив Герман 
Холлеріт. Перфокарта Холлеріта виявилася 
настільки вдалою, що без жодних змін 
проіснувала до наших днів. "; 
$pos = strpos ($str, "Холлеріт"); 
if ($pos! == false) echo "Шуканий рядок 
в позиції номер $pos "; 
else echo "Підрядок не знайдено"; 
/* Зауважимо, що ми перевіряємо значення 
$pos на еквівалентність з false. 
Інакше рядок, що знаходиться в першій позиції, 
не був би знайдений, тому що 0 
інтерпретується як false. */ 
?>