(PHP 4, PHP 5, PHP 7)
strpos — Find the position of the first occurrence of a substring in a string
$haystack
, string $needle
, int $offset
= 0
) : int|false
Find the numeric position of the first occurrence of
needle
in the haystack
string.
haystack
The string to search in.
needle
Dacă needle
nu este un șir de caractere, el este
transformat în întreg și aplicat ca valoarea ordinală a caracterului.
Acest comportament este învechit începând cu PHP 7.3.0 și utilizarea lui este
foarte nerecomandată. În dependență de comportamentul dorit
needle
trebuie transformat în mod explicit în șir de
caractere, sau trebuie efectuat un apel explicit către chr().
offset
If specified, search will start this number of characters counted from the beginning of the string. If the offset is negative, the search will start this number of characters counted from the end of the string.
Returns the position of where the needle exists relative to the beginning of
the haystack
string (independent of offset).
Also note that string positions start at 0, and not 1.
Returns false
if the needle was not found.
Această funcție poate întoarce valoarea Boolean false
, dar poate de
asemenea întoarce o valoare non-Boolean care evaluează în false
. Vă rugăm să
citiți secțiunea despre tipul Boolean
pentru informații suplimentare. Utilizați
operatorul === pentru a
verifica valoarea întoarsă de această funcție.
Versiune | Descriere |
---|---|
8.0.0 |
Passing an int as needle is no longer supported.
|
7.3.0 |
Passing an int as needle has been deprecated.
|
7.1.0 |
Support for negative offset s has been added.
|
Example #1 Using ===
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
?>
Example #2 Using !==
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// The !== operator can also be used. Using != would not work as expected
// because the position of 'a' is 0. The statement (0 != false) evaluates
// to false.
if ($pos !== false) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
?>
Example #3 Using an offset
<?php
// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
Notă: Această funcție acceptă și date binare.