PHP strncasecmp() Function (original) (raw)

Last Updated : 22 Jun, 2023

The strncasecmp() function is a built-in function in PHP and is used to compare two given strings. It is case-insensitive. This function is similar to strcasecmp(), the only difference is the provision to specify the number of characters to be used from each string for the comparison.

Syntax:

strncasecmp($string1, string2,string2, string2,length)

Parameters: This function accepts two parameters as shown in the above syntax and are described below:

Return Value: This function returns an integer based on the conditions as described below:

Examples:

Input : string1 = "Hello", string2 = "hEllo", length = 6 Output : 0

Input : string1 = "Geeks", string2 = "Gfg", length = 3 Output : -1

Input : string1 = "Nerd", string2 = "Geeks", length = 4 Output : 7

Below programs illustrate the strncasecmp() function in PHP:

Program 1: When the two strings are identical:

<?php

$str1 = "Geeks for Geeks " ;

$str2 = "Geeks for Geeks " ;

$test = strncasecmp ( $str1 , $str2 , 16 );

echo "$test" ;

?>

Output :

0

Program 2 : When first string greater than the second string:

<?php

$str1 = "Geeks for Geeks " ;

$str2 = "Geeks for " ;

$test = strncasecmp ( $str1 , $str2 , 16 );

echo "$test" ;

?>

Output:

6

Program 3: First string is smaller than the second string:

<?php

$str1 = "Geeks for " ;

$str2 = "Geeks for Geeks " ;

$test = strncasecmp ( $str1 , $str2 , 16 );

echo "$test" ;

?>

Output:

-6

Program 4: This program illustrates the case-insensitivity of the function:

<?php

$str1 = "GEEKS FOR GEEKS " ;

$str2 = "Geeks for Geeks " ;

$test = strncasecmp ( $str1 , $str2 , 16 );

echo "$test" ;

?>

Output:

0

Program 5: Two strings are of equal length but contain a different character. In such a case the difference between ASCII value of the two characters is displayed. The function returns a positive value if the character in string1 has a greater ASCII value and negative if the character in string2 has a greater ASCII value.

<?php

$str1 = "Good" ;

$str2 = "Goon" ;

$test1 = strncasecmp ( $str1 , $str2 , 4 );

echo "$test1" ;

echo "\n" ;

$test2 = strncasecmp ( $str2 , $str1 , 4 );

echo "$test2" ;

?>

Output:

-10 10

Reference:
http://php.net/manual/en/function.strncasecmp.php