String comparison using == vs strcmp() in PHP

== Operator

The comparison operator called Equal Operator is the double equal sign “==”. This operator accepts two inputs to compare and returns true value if both of the values are same (It compares only value of variable, not data types) and returns false value if both of the values are not same.
This should always be kept in mind that the present equality operator == is different from the assignment operator =. The assignment operator assigns the variable on the left to have a new value as the variable on right, while the equal operator == tests for equality and returns true or false as per the comparison results.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Declaration of strings
$name1 = "Geeks";
$name2 = "Geeks";
  
// Use == operator
if ($name1 == $name2) {
    echo 'Both strings are equal';
}
else {
    echo 'Both strings are not equal';
}
?>

chevron_right


Output:

Both strings are equal

strcmp() Function

The strcmp() is an inbuilt function in PHP which is used to compare two strings. This function is case-sensitive which points that capital and small cases will be treated differently, during comparison. This function compares two strings and tells whether the first string is greater or smaller or equals to the second string.

Syntax:



strcmp( $string1, $string2 )

Parameters: This function accepts two parameters as mentioned above and described below:

  • $string1: This parameter refers to the first string to be used in the comparison. It is mandatory parameter.
  • $string2: This parameter refers to the second string to be used in the comparison. It is mandatory parameter.


Return Values:
The function returns a random integer value depending on the condition of match, which is given by:

  • Returns 0 if the strings are equal.
  • Returns a negative value (< 0), if $string2 is greater than $string1.
  • Returns a positive value (> 0) if $string1 is greater than $string2.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Declaration of strings
$name1 = "Geeks";
$name2 = "geeks";
  
// Use strcmp() function 
if (strcmp($name1, $name2) !== 0) {
    echo 'Both strings are not equal';
}
else {
    echo 'Both strings are equal';
}
?>

chevron_right


Output:

Both strings are not equal

Reference:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

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.