PHP Velho Oeste 2024

str_starts_with

(PHP 8)

str_starts_withVerifica se uma string começa com uma substring fornecida

Descrição

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

Realiza uma verificação case-sensitive indicando se haystack começa com needle.

Parâmetros

haystack

A string onde será feita a busca.

needle

A substring para procurar em haystack.

Valor Retornado

Retorna true se haystack começa com needle, false caso contrário.

Exemplos

Exemplo #1 Usando uma string vazia ''

<?php
if (str_starts_with('abc', '')) {
echo
"Toda string começa com uma string vazia";
}
?>

O exemplo acima produzirá:

Toda string começa com uma string vazia

Exemplo #2 Mostrando o case-sensitivity

<?php
$string
= 'Uma raposa preguiçosa pulou a cerca';

if (
str_starts_with($string, 'Uma')) {
echo
"A string começa com 'Uma'\n";
}

if (
str_starts_with($string, 'uma')) {
echo
'A string começa com "uma"';
} else {
echo
'"uma" não foi encontrado porque o case não corresponde';
}

?>

O exemplo acima produzirá:

A string começa com 'A'
"a" não foi encontrado porque o case não corresponde

Notas

Nota: Esta função é compatível com dados binários.

Veja Também

  • str_contains() - Determina se uma string contém uma substring fornecida
  • str_ends_with() - Verifica se uma string termina com uma substring fornecida
  • stripos() - Find the position of the first occurrence of a case-insensitive substring in a string
  • strrpos() - Find the position of the last occurrence of a substring in a string
  • strripos() - Find the position of the last occurrence of a case-insensitive substring in a string
  • strstr() - Find the first occurrence of a string
  • strpbrk() - Procura na string por um dos caracteres de um conjunto
  • substr() - Retorna parte de uma string
  • preg_match() - Perform a regular expression match

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
2 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