Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou um pequeno problema com o strpos e gostaria de saber se alguém já teve o mesmo. É o seguinte:
Quando faço uma verificação assim:
$txt = strpos($informado,$procurado);if($txt === false) { echo "Não informou";}
funciona legal, agora, quando faço assim, não funciona:
$txt = strpos($informado,$procurado);$txt2 = strpos($informado,$procurado2);if($txt === false || $txt2 === false) { echo "Não informou";}
Ou seja, o cara pode informar uma coisa ou outra, então, preciso saber se isto foi feito.
Valeu.
Valeu Ilidan,
Mas, não é isso não. Ele precisa informar um ou o outro.
Alguém mais?
if(!strstr($string, $procurado)){ echo "não encontrei"; }
Eu pensei nela, mas devido a seguinte nota:
Nota: Se você somente quer determinar se needle ocorre em haystack, use ao invés a função mais rapida e com menor uso de memória strpos().
no manual do PHP, optei pela strpos().
$txt = strpos($informado,$procurado);$txt2 = strpos($informado,$procurado2);if(($txt === false) || ($txt2 === false)) {echo "Não informou";}
Eu uso essa função que retorna simplesmente true ou false:
function str_contains($haystack, $needle, $ignoreCase = false) { if ($ignoreCase) { $haystack = strtolower($haystack); $needle = strtolower($needle); } $needlePos = strpos($haystack, $needle); return ($needlePos === false ? false : ($needlePos+1));}
Assim dá pra usar normal:
if (!str_contains('isto é um teste', 'um') || !str_contains('1234', '1') { echo "Não encontrou!";}
valeu pessoal, obrigado.
Ao invés de:
Faça:
Pois, pelo o que entendi, ele só deverá exibir a mensagem "não informou" no caso de não ter informado o primeiro e o segundo, certo?
[]'s!