PHP | strncasecmp() Function


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, $length)

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

  • $string1, $string2: These parameters specifies the strings to be compared.
  • $length: It specifies the number of characters from each string to be used in the comparison. This parameter is mandatory

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

  • strncasecmp() returns 0 – if the two strings are equal.
  • strncasecmp() returns <0 – if string1 is less than string2
  • strncasecmp() returns >0 – if string1 is greater than string2

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
$str1 = "Geeks for Geeks ";
$str2 = "Geeks for Geeks ";
  
// Both the strings are equal
$test=strncasecmp($str1, $str2, 16 ); 
  
echo "$test"
  
?>

chevron_right


Output :

0

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Input strings
$str1 = "Geeks for Geeks ";
$str2 = "Geeks for ";
  
$test=strncasecmp($str1, $str2, 16 ); 
  
// In this case the second string is smaller
echo "$test"
  
?>

chevron_right


Output:

6

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Input Strings
$str1 = "Geeks for ";
$str2 = "Geeks for Geeks ";
  
$test=strncasecmp($str1, $str2, 16 ); 
  
// In this case the first string is smaller
echo "$test"
  
?>

chevron_right


Output:

-6

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Input Strings
$str1 = "GEEKS FOR GEEKS ";
$str2 = "Geeks for Geeks ";
  
// Both the strings are equal
$test=strncasecmp($str1, $str2, 16 ); 
  
echo "$test"
  
?>

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Input Strings 
$str1 = "Good";
$str2 = "Goon";
  
$test1 = strncasecmp($str1, $str2, 4 ); 
  
// Second string has a character 
// with higher ASCII value
echo "$test1"
  
echo "\n";
  
$test2 = strncasecmp($str2, $str1, 4 ); 
  
// First string has a character 
// with higher ASCII value
echo "$test2"
  
?>

chevron_right


Output:

-10
10

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



My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.