(PHP 4, PHP 5, PHP 7, PHP 8)
strpos — Знаходить позицію першого входження підрядка в рядку
Знаходить номер позиції першого входження
needle
в рядку haystack
.
haystack
Рядок, в якому буде здійснюватись пошук.
needle
Підрядок, який шукається в рядку haystack
.
Якщо параметр needle
не є рядком, він конвертується
в ціле число (integer) та сприймається як порядковий номер (код) символа.
offset
Якщо цей параметр вказано, то пошук почнеться із зазначеної кількості символів від початку рядка. На відміну від strrpos() та strripos(), даний параметр не може бути від'ємним.
Повертає позицію, де знаходиться підрядок, відносно початку
рядка haystack
(незалежно від зміщення offset). Також
зверніть увагу, що позиція підрядка відраховується починаючи від 0, а не від 1.
Повертає false
якщо підрядок не було знайдено.
Ця функція може
повертати як логічне false
, так і не логічне значення, яке прирівнюється до
false
. Докладніше про це описано в розділі Логічні типи даних. Для перевірки
значення, яке повертає ця функція, використовується оператор ===.
Приклад #1 Використання ===
(трьох знаків дорівнює)
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Зауважте що ми використовуємо === (три знаки дорівнює).
// Використання == (двох знаків дорівнює) може працювати не так
// як очікується, оскільки 'a' знаходиться в нульовій позиції.
if ($pos === false) {
echo "Підрядок '$findme' не знайдено в рядку '$mystring'";
} else {
echo "Підрядок '$findme' знайдено в рядку '$mystring'";
echo " в позиції $pos";
}
?>
Приклад #2 Використання !==
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Оператор !== також можна використовувати. Використання != може працювати не
// так як очікується, оскільки 'a' знаходиться в нульовій позиції.
// Вираз (0 != false) оцінюється як хибний.
if ($pos !== false) {
echo "Підрядок '$findme' буде знайдено в рядку '$mystring'";
echo " в позиції $pos";
} else {
echo "Підрядок '$findme' не знайдено в рядку '$mystring'";
}
?>
Приклад #3 Використання зміщення (offset)
<?php
// Ми можемо шукати символи, ігноруючи початкові символи до певного зміщення (offset)
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, не 0
?>
Зауваження: Ця функція є бінарно безпечною.