Wir können testen, ob ein bestimmter String der exakte Anfang eines anderen Strings ist
<?php
function startsWith($string, $startString) {
$len = strlen($startString);
return (substr($string, 0, $len) === $startString);
}
// usage
echo startsWith("cat", "c"); // true
echo startsWith("dog", "x"); // false
?>
Das Testen der Position im String und die Sicherstellung, dass sie bei 0 liegt, funktioniert ebenfalls
function startsWith($string, $startString) {
return strpos($string, $startString) === 0;
}
Die Funktion strncmp ist ebenfalls direkt für diesen Zweck gedacht
function startsWith($string, $startString) {
return strncmp($string, $startString, strlen($startString)) === 0;
}
Du kannst auch immer RegEx verwenden!
function startsWith($string, $startString) {
return preg_match('#^' . $startString . '#', $string) === 1;
}
Wenn der String keine Unicode-Zeichen enthält, gibt es auch eine einfache Methode
$a = “String”;
if($a[0] === “S”){
…
}
PHP 8 unterstützt jetzt drei neue Methoden zum Testen von Strings
str_contains($string, $search)
str_starts_with($string, $search)
str_ends_with($string, $search)
// Verwendung
str_contains(‘haystack’, ‘sta’); // true
str_starts_with(‘haystack’, ‘h’); // true
str_ends_with(‘haystack’, ‘x’); // false