PHP 7.4.22 Released!

str_starts_with

(PHP 8)

str_starts_withChecks if a string starts with a given substring

Beschreibung

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

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

Parameter-Liste

haystack

The string to search in.

needle

The substring to search for in the haystack.

R├╝ckgabewerte

Returns true if haystack begins with needle, false otherwise.

Beispiele

Beispiel #1 Using the empty string ''

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

All strings start with the empty string

Beispiel #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';
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • str_contains() - Determine if a string contains a given substring
  • str_ends_with() - Checks if a string ends with a given substring
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings
  • strpbrk() - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
  • substr() - Gibt einen Teil eines Strings zurück
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch

add a note add a note

User Contributed Notes 2 notes

up
24
Paul Phillips
5 months ago
You can use this in PHP versions less than 8.

<?php
function str_starts_with ( $haystack, $needle ) {
  return
strpos( $haystack , $needle ) === 0;
}
up
6
jgusta
4 months 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.
To Top