strncasecmp

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

strncasecmpCompare en binaire des chaînes de caractères

Description

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

strncasecmp() est similaire à strcasecmp(), à la différence près qu'elle permet de limiter le nombre de caractères utilisés pour comparer string1 et string2, avec le paramètre length.

Liste de paramètres

string1

La première chaîne.

string2

La seconde chaîne.

length

La longueur des chaînes à utiliser dans la comparaison.

Valeurs de retour

Retourne -1 si string1 est plus petite que string2; 1 si string1 est plus grande que string2, et 0 si elles sont égales.

Historique

Version Description
8.2.0 Cette fonction retourne désormais -1 ou 1, alors qu'auparavant elle renvoyait un nombre négatif ou positif.

Exemples

Exemple #1 Exemple avec strncasecmp()

<?php

$var1
= 'Hello John';
$var2 = 'hello Doe';
if (
strncasecmp($var1, $var2, 5) === 0) {
echo
'Les 5 premiers caractères de $var1 et $var2 sont égaux dans une comparaison de chaînes de caractères insensibles à la casse.';
}
?>

Voir aussi

  • strncmp() - Comparaison binaire des n premiers caractères
  • preg_match() - Effectue une recherche de correspondance avec une expression rationnelle standard
  • substr_compare() - Compare deux chaînes depuis un offset jusqu'à une longueur en caractères
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • stristr() - Version insensible à la casse de strstr
  • substr() - Retourne un segment de chaîne

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