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

phpstrpos(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<?php
  echo strpos('abcde abcde', 'c');
?>

Risultato dell'esecuzione del codice:

php2

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<?php
  echo strpos('abcde abcde', 'c', 3);
?>

Risultato dell'esecuzione del codice:

php8

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<?php
  if (strpos('http://site.ru', 'http://')) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Risultato dell'esecuzione del codice (non quello che ci aspettavamo):

php'---'

Esempio

Eseguiamo un controllo corretto per l'inizio della stringa:

php<?php
  if (strpos('http://site.ru', 'http://') === 0) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Risultato dell'esecuzione del codice:

php'+++'

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