PHP è un linguaggio di programmazione popolare utilizzato per lo sviluppo di siti web e applicazioni web. Con PHP 8, sono state introdotte alcune nuove funzioni per lavorare con stringhe, che possono essere molto utili per gli sviluppatori e i programmatori. In questo articolo, esploreremo le nuove funzioni str_contains, str_starts_withe str_ends_with e vedremo come possono essere utilizzate per semplificare alcuni compiti comuni di manipolazione delle stringhe.
str_contains
La prima funzione che esploreremo è str_contains. Questa funzione consente di verificare se una determinata sottostringa è presente all’interno di una stringa. La sintassi per questa funzione è la seguente:
bool str_contains (string $haystack, string $needle);
Il parametro $haystack
è la stringa in cui si desidera cercare la sottostringa $needle
. La funzione restituisce true
se la sottostringa è presente nella stringa, altrimenti restituisce false
.
Ecco un esempio di come utilizzare la funzione str_contains:
$string = "Questa è una stringa di esempio";
$substring = "stringa";
if (str_contains($string, $substring)) {
echo "La sottostringa '$substring' è presente nella stringa '$string'";
} else {
echo "La sottostringa '$substring' non è presente nella stringa '$string'";
}
In questo esempio, la funzione str_contains restituisce true
, poiché la sottostringa “stringa” è presente nella stringa “Questa è una stringa di esempio”.
In precedenza per ottenere lo stesso risultato si utilizzava la funzione strpos o preg_match
$string = "Questa è una stringa di esempio";
$substring = "stringa";
if (strpos($string, $substring) !== false) {
echo "La sottostringa '$substring' è presente nella stringa '$string'";
} else {
echo "La sottostringa '$substring' non è presente nella stringa '$string'";
}
$string = "Questa è una stringa di esempio";
$substring = "stringa";
if (preg_match("/$substring/", $string)) {
echo "La sottostringa '$substring' è presente nella stringa '$string'";
} else {
echo "La sottostringa '$substring' non è presente ne
}
str_starts_with
La seconda funzione che esploreremo è str_starts_with. Questa funzione consente di verificare se una determinata stringa inizia con una sottostringa specifica. La sintassi per questa funzione è la seguente:
bool str_starts_with (string $haystack, string $needle);
Il parametro $haystack
è la stringa in cui si desidera verificare se inizia con la sottostringa $needle
. La funzione restituisce true se la stringa inizia con la sottostringa, altrimenti restituisce false.
Ecco un esempio di come utilizzare la funzione str_starts_with:
$string = "Questa è una stringa di esempio";
$substring = "Questa";
if (str_starts_with($string, $substring)) {
echo "La stringa '$string' inizia con la sottostringa '$substring'";
} else {
echo "La stringa '$string' non inizia con la sottostringa '$substring'";
}
In questo esempio, la funzione str_starts_with restituisce true
, poiché la stringa “Questa è una stringa di esempio” inizia con la sottostringa “Questa”.
In precedenza per ottenere lo stesso risultato si utilizzava la funzione substr o strpos.
$string = "Questa è una stringa di esempio";
$substring = "Questa";
if (substr($string, 0, strlen($substring)) === $substring) {
echo "La stringa '$string' inizia con la sottostringa '$substring'";
} else {
echo "La stringa '$string' non inizia con la sottostringa '$substring'";
}
$string = "Questa è una stringa di esempio";
$substring = "Questa";
if (strpos($string, $substring) === 0) {
echo "La stringa '$string' inizia con la sottostringa '$substring'";
} else {
echo "La stringa '$string' non inizia con la sottostringa '$substring'";
}
str_ends_with
Infine, la terza funzione che esploreremo è str_ends_with. Questa funzione consente di verificare se una determinata stringa termina con una sottostringa specifica. La sintassi per questa funzione è la seguente:
bool str_ends_with (string $haystack, string $needle);
Il parametro $haystack
è la stringa in cui si desidera verificare se termina con la sottostringa $needle
. La funzione restituisce true
se la stringa termina con la sottostringa, altrimenti restituisce false
.
Ecco un esempio di come utilizzare la funzione str_ends_with:
$string = "Questa è una stringa di esempio";
$substring = "esempio";
if (str_ends_with($string, $substring)) {
echo "La stringa '$string' termina con la sottostringa '$substring'";
} else {
echo "La stringa '$string' non termina con la sottostringa '$substring'";
}
Nell’esempio, la funzione str_ends_with restituisce true
, poiché la stringa “Questa è una stringa di esempio” termina con la sottostringa “esempio”.
In precedenza per ottenere lo stesso risultato si utilizzava la funzione substr o la funzione strrpos.
$string = "Questa è una stringa di esempio";
$substring = "esempio";
if (substr($string, -strlen($substring)) === $substring) {
echo "La stringa '$string' termina con la sottostringa '$substring'";
} else {
echo "La stringa '$string' non termina con la sottostringa '$substring'";
}
$string = "Questa è una stringa di esempio";
$substring = "esempio";
if (strrpos($string, $substring) === strlen($string) - strlen($substring)) {
echo "La stringa '$string' termina con la sottostringa '$substring'";
} else {
echo "La stringa '$string' non termina con la sottostringa '$substring'";
}
Conclusioni
In conclusione, le nuove funzioni str_contains, str_starts_with e str_ends_with in PHP offrono un modo semplice e intuitivo per verificare la presenza di sottostringhe all’interno di una stringa, controllare se una stringa inizia o termina con una sottostringa specifica.
Queste funzioni possono rendere il codice più leggibile e facile da mantenere rispetto alle vecchie alternative utilizzate in precedenza.
Fonti
https://www.php.net/manual/en/function.str-contains.php