strncasecmp

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

strncasecmpComparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas

Descripción

strncasecmp(string $str1, string $str2, int $len): int

Esta función es similar a strcasecmp(), con la diferencia de que puede especificar el (límite superior de) número de caracteres de cada cadena a ser usado en la comparación.

Parámetros

str1

La primera cadena.

str2

La segunda cadena.

len

La longitud de cadenas a ser usada en la comparación.

Valores devueltos

Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2, y 0 si son equivalentes.

Ver también

  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • preg_match() - Realiza una comparación con una expresión regular
  • substr_compare() - Comparación segura a nivel binario de dos o más strings desde un índice hasta una longitud de caracteres dada
  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena

add a note add a note

User Contributed Notes 2 notes

up
-6
sazalach at gmail dot com
8 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
-46
saikumar dot msc at gmail dot com
9 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