strpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strposЗнаходить позицію першого входження підрядка в рядку

Опис

strpos(string $haystack, mixed $needle, int $offset = 0): mixed

Знаходить номер позиції першого входження 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
?>

Примітки

Зауваження: Ця функція є бінарно безпечною.

Прогляньте також

  • stripos() - Find the position of the first occurrence of a case-insensitive substring in a string
  • strrpos() - Find the position of the last occurrence of a substring in a string
  • strripos() - Find the position of the last occurrence of a case-insensitive substring in a string
  • strstr() - Find the first occurrence of a string
  • strpbrk() - Search a string for any of a set of characters
  • substr() - Return part of a string
  • preg_match() - Perform a regular expression match