Avatar ·

Como verificar se uma string começa com uma substring específica em PHP?

Olá a todos! Sou novo em PHP e estou escrevendo um pequeno script para processar URLs. Preciso verificar se uma string começa com um prefixo específico, como "https://" ou "/admin/". Em outras linguagens, vi funções como startsWith(), mas no PHP parece que não existe. Tentei usar strpos(), mas ele retorna uma posição, não um valor booleano. Tive que escrever um workaround: $url = "https://example.com"; if (strpos($url, "https://") === 0) { echo "Começa com https"; } Isso funciona, mas parece feio. Tenho que escrever constantemente === 0, o que é fácil de esquecer ou confundir com !== false. Existe uma maneira mais elegante? Talvez uma função embutida ou uma construção curta? Agradeceria por exemplos de código e explicação de como funciona. Obrigado! <<>>

Melhor maneira: usar str_starts_with() (PHP 8.0+)

A partir do PHP 8.0, a linguagem tem uma função embutida str_starts_with() que faz exatamente o que você precisa. Ela retorna