2
respostas

[Dúvida] Uma dúvida sobre a função str_contains

Eu não sei se isso é um problema real, mas me veio a cabeça. A função sub_contains verifica se determinada string está contida em outra string, caso seja verdadeiro ela retorna true.

Pensando nisso, eu fiz um teste:

<?php

$string = "Araraquara";

var_dump(str_contains($string, "Arara"));

Será retornado true, porém não era bem essa palavra que eu estava querendo buscar. Tem algum jeito deu resolver este problema?

2 respostas

Oii, Pedro.

O código abaixo resolve o seu problema?

<?php

$string1 = "Araraquara";
$string2 = "Arara";

var_dump($string1 == $string2);

Nesse caso nem precisar usar alguma função

Fala comigo Pedro

É interessante saber que existe mais de uma forma para comparar strings em PHP, sendo que uma delas pode ser usada, porém não seria tão legal pois a própria linguagem nos fornece uma função de realizar esse trabalho para gente que é a strcmp

Vamos ver o funcionamento de ambas as formas:

1° forma de comparação:

$string = "Araraquara";
$stringParaComparar = "Arara";

var_dump($string1 == $string2);

2° forma de comparação (função strcmp); você pode dar uma olhada para melhor entendimento da função https://www.php.net/manual/en/function.strcmp.php

strcmp(string $string1, string $string2): int

Basicamente ela recebe duas string para comparar e nos retorna um inteiro, sendo a função retorna -1 se a primeira string for menor que a segunda; 1 se a primeira for maior que a segunda e 0 se ambas forem iguais. O legal dessa função é que ela consegue diferencias letras maiúsculas e minúsculas.

$string = "Araraquara";
$stringParaComparar = "Arara";

var_dump(strcmp($string, $stringParaComparar)); // Irá retornar 1

Espero que tenha ficado claro :)