i assume you can also use the ! (not) operator
<?php
if (!strncasecmp($string, 'Trudeau', 4)){
print "true";
}
?>
since booleans in PHP translate 0 to FALSE and any other integer to TRUE.
!0 = !false = true
!1 = !true = false
!-1 = !true = false
strncasecmp
(PHP 4 >= 4.0.2, PHP 5)
strncasecmp — Comparação de string caso-sensitivo de Binário seguro dos primeiros n caracteres
Descrição
int strncasecmp
( string $str1
, string $str2
, int $len
)
Esta função é similar a strcasecmp(), com a diferença que você pode especificar o (o limite mais elevado de) número de caracteres de cada string para ser usado na comparação.
Parâmetros
- str1
-
A primeira string.
- str2
-
A segunda string.
- len
-
O tamanho da string para ser usado na comparação.
Valor Retornado
Devolve < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se elas são iguais.
Veja Também
- preg_match() - Perform a regular expression match
- strcmp() - Comparação de string segura para binário
- strcasecmp() - Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário
- substr() - Retorna uma parte de uma string
- stristr() - strstr sem diferenciar maiúsculas e minúsculas
- strstr() - Encontra a primeira ocorrencia de uma string
khootz
27-Nov-2006 08:23
djdykes
31-Aug-2005 03:43
Hi all,
be aware when comparing strings using the strcmp family. if you write code like this...
if (strncasecmp($string, 'Trudeau', 4))
print "true";
The above code returns 1 which evaluates to boolean 'true'
that statement will always be true... because these functions return 0 only when equal. so a better test would be
if ( (strncasecmp($string, 'Trudeau', 4)) == 0)
print "true";
always test these functions equality with 0
regards
