Tutorialspoint.dev

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:

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

Output :

0

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

<?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"
  
?>

Output:

6

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

<?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"
  
?>

Output:

-6

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

<?php
  
// Input Strings
$str1 = "GEEKS FOR GEEKS ";
$str2 = "Geeks for Geeks ";
  
// Both the strings are equal
$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
  
// Input Strings 
$str1 = "Good";
$str2 = "Goon";
  
$test1 = strncasecmp($str1, $str2, 4 ); 
  
// Second string has a character 
// with higher ASCII value
echo "$test1"
  
echo " ";
  
$test2 = strncasecmp($str2, $str1, 4 ); 
  
// First string has a character 
// with higher ASCII value
echo "$test2"
  
?>

Output:

-10
10

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



This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter