strncasecmp

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

strncasecmpComparação binária de strings, insensível a maiúsculas/minúsculas, dos primeiros n caracteres

Descrição

strncasecmp(string $string1, string $string2, int $length): int

Esta função é similar a strcasecmp(), com a diferença que pode ser especificado o número (limite superior) de caracteres de cada string usada na comparação.

Parâmetros

string1

A primeira string.

string2

A segunda string.

length

O tamanho das strings, que será usado na comparação.

Valor Retornado

Retorna -1 se string1 representa menos que string2; 1 se string1 representa mais que string2, e 0 se são iguais.

Registro de Alterações

Versão Descrição
8.2.0 Esta função agora retorna -1 ou 1, onde anteriormente retornava um número negativo ou positivo.

Exemplos

Exemplo #1 Exemplo de strncasecmp()

<?php

$var1
= 'Hello John';
$var2 = 'hello Doe';
if (
strncasecmp($var1, $var2, 5) === 0) {
echo
'Primeiros 5 caracteres de $var1 e $var2 são iguais em uma comparação insensível a maiúsculas/minúsculas';
}
?>

Veja Também

  • strncmp() - Binary safe string comparison of the first n characters
  • preg_match() - Perform a regular expression match
  • substr_compare() - Comparação binária de duas strings a partir de uma posição até n caracteres
  • strcasecmp() - Binary safe case-insensitive string comparison
  • stristr() - Case-insensitive strstr
  • substr() - Retorna parte de uma string

add a note add a note

User Contributed Notes 2 notes

up
-5
sazalach at gmail dot com
9 years ago
<?php
$str1
= "red";
$str2 = "redent";
$test=strncasecmp($str1, $str2 , 3);
if (
$str1==$str2)
{
echo
"$test";
}
else
{
echo
"$test" ;
}
?>

if we run the above script then we will get return 0, because first string $str1 = "red" and second $str2 = "redent" but in comparison i have set the first three character will try to match. as per condition if two string are equal then it will return 0. But in below example it will return greater than 0 because here is str1 is greater than str2.

<?php
$str1
= "redmyshirt";
$str2 = "redent";
$test=strncasecmp($str1, $str2 , 4);
if (
$str1==$str2)
{
echo
"$test";
}
else
{
echo
"$test" ;
}
?>

as same if we run the below script it will return -1 because str1 is less than str2.

<?php
$str1
= "red";
$str2 = "redent";
$test=strncasecmp($str1, $str2 , 4);
if (
$str1==$str2)
{
echo
"$test";
}
else
{
echo
"$test" ;
}
?>

ya..i think its easy to understand
up
-47
saikumar dot msc at gmail dot com
10 years ago
Example:
<?php
$string
= “true”;
if(
strncasecmp($string, “Trudeau”, 4)) { print “True”; } else { print "False" }
?>

If we look at above example, immediately we will say the final output will be 'False', but that's not real.

Method "strncasecmp()" returns 1 because the first four characters of ‘Trud’ come before the first four characters of "true" when sorted not case sensitively.
To Top