str_starts_with

(PHP 8)

str_starts_withChecks if a string starts with a given substring

Descrizione

str_starts_with(string $haystack, string $needle): bool

Performs a case-sensitive check indicating if haystack begins with needle.

Elenco dei parametri

haystack

The string to search in.

needle

The substring to search for in the haystack.

Valori restituiti

Returns true if haystack begins with needle, false otherwise.

Esempi

Example #1 Using the empty string ''

<?php
if (str_starts_with('abc', '')) {
echo
"All strings start with the empty string";
}
?>

Il precedente esempio visualizzerà:

All strings start with the empty string

Example #2 Showing case-sensitivity

<?php
$string
= 'The lazy fox jumped over the fence';

if (
str_starts_with($string, 'The')) {
echo
"The string starts with 'The'\n";
}

if (
str_starts_with($string, 'the')) {
echo
'The string starts with "the"';
} else {
echo
'"the" was not found because the case does not match';
}

?>

Il precedente esempio visualizzerà:

The string starts with 'The'
"the" was not found because the case does not match

Note

Nota: Questa funzione è binary-safe (gestisce correttamente i file binari)

Vedere anche:

  • str_contains() - Determine if a string contains a given substring
  • str_ends_with() - Checks if a string ends with a given substring
  • stripos() - Trova la prima occorrenza in una stringa senza distinzione tra maiuscole e minuscole
  • strrpos() - Trova la posizione dell'ultima occorrenza di un carattere in una stringa
  • strripos() - Trova la posizione dell'ultima occorrenza di una stringa in un'altra indipendentemente dalle lettere minuscole/maiusole
  • strstr() - Trova la prima occorrenza di una stringa
  • strpbrk() - Ricerca in una stringa uno qualsiasi dei caratteri di un dato set
  • substr() - Restituisce parte di una stringa
  • preg_match() - Riconoscimento con espressioni regolari

add a note add a note

User Contributed Notes 3 notes

up
46
Paul Phillips
3 years ago
You can use this in PHP versions less than 8.

<?php
function str_starts_with ( $haystack, $needle ) {
  return
strpos( $haystack , $needle ) === 0;
}
up
13
jgusta
3 years ago
With credit to Paul Phillips for the original polyfill posted.

If you do not have PHP 8, you can use these functions to get the capability of the new string functions.

But! Remember to use a conditional check to make sure the function is not already defined.

<?php
// source: Laravel Framework
// https://github.com/laravel/framework/blob/8.x/src/Illuminate/Support/Str.php
if (!function_exists('str_starts_with')) {
    function
str_starts_with($haystack, $needle) {
        return (string)
$needle !== '' && strncmp($haystack, $needle, strlen($needle)) === 0;
    }
}
if (!
function_exists('str_ends_with')) {
    function
str_ends_with($haystack, $needle) {
        return
$needle !== '' && substr($haystack, -strlen($needle)) === (string)$needle;
    }
}
if (!
function_exists('str_contains')) {
    function
str_contains($haystack, $needle) {
        return
$needle !== '' && mb_strpos($haystack, $needle) !== false;
    }
}
?>

This keeps it from breaking in case you upgrade and forget that you added it. This is a good practice generally when using the global scope for your helper functions.
up
2
Reinder
3 years ago
In PHP7 you may want to use:

if (!function_exists('str_starts_with')) {
  function str_starts_with($str, $start) {
    return (@substr_compare($str, $start, 0, strlen($start))==0);
  }
}

AFAIK that is binary safe and doesn't need additional checks.
To Top