Funzione strpos
La funzione strpos restituisce la posizione
della prima occorrenza di una sottostringa in un'altra stringa
o false se la sottostringa non viene trovata.
Il primo parametro della funzione accetta la stringa
in cui effettuare la ricerca, il secondo parametro
- la sottostringa da cercare.
Per impostazione predefinita, la funzione cerca dall'inizio della stringa fino alla prima corrispondenza. L'inizio della ricerca può essere regolato con un terzo parametro opzionale - se specificato, la ricerca inizierà non dall'inizio della stringa, ma dalla posizione indicata.
Esiste anche la funzione stripos, che
fa la stessa cosa, ma senza distinzione tra maiuscole e minuscole.
Sintassi
strpos(string $haystack, string $needle, int $offset = 0): int|false
Esempio
In questo esempio la funzione restituirà la posizione del primo
carattere 'c'. Occupa la posizione 2,
poiché il conteggio inizia da 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Risultato dell'esecuzione del codice:
2
Esempio
In questo esempio è specificato il terzo parametro e
quindi la ricerca inizierà dalla terza posizione,
in questo caso la funzione troverà il secondo carattere
'c' e restituirà la sua posizione - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Risultato dell'esecuzione del codice:
8
Esempio
Se la sottostringa non viene trovata - la funzione
restituirà false. Se invece la stringa si trova
all'inizio, la funzione restituirà 0.
Ciò potrebbe creare problemi nei confronti
tramite la forma abbreviata della condizione:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Risultato dell'esecuzione del codice (non quello che ci aspettavamo):
'---'
Esempio
Eseguiamo un controllo corretto per l'inizio della stringa:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Risultato dell'esecuzione del codice:
'+++'
Vedi anche
-
la funzione
strrpos,
che restituisce la posizione dell'ultima occorrenza di una sottostringa -
la funzione
str_contains,
che verifica la presenza di un carattere in una stringa -
la funzione
str_starts_with,
che verifica l'inizio di una stringa -
la funzione
str_ends_with,
che verifica la fine di una stringa -
la funzione
array_search,
che effettua una ricerca in un array