PHP String substr_compare() Function

The substr_compare() is a built-in function of PHP, which helps to compare the two strings from a specified start position to specified end position. This function is a binary-safe function and optionally case-sensitive. PHP 5 and above versions support this function.

Syntax

The syntax of substr_compare() function is given below.

It consists of five parameters in which three are mandatory, and the remaining two are optional. Below is the description for these parameters:

Parameters

$main_str (required): It is the main string parameter of this function which needs to be compared. It is a mandatory parameter.

$str (required): It is the second string parameter of this function which is specified to be compared. It is also a mandatory parameter as main_str.

$start_pos (required): It is a mandatory parameter, which has an integer value. This parameter specifies the value, where to start a comparison of $str in $main_str. In other words, - it provides the start position for the comparison.

If the passed value is negative, then it starts comparing from the end of the string.

$length (optional): This parameter is not mandatory to pass in this function. It consists the length of the comparison, means it specifies how much of $str to compare.

$case-insensitivity (optional): This parameter contains the Boolean value, which specifies whether to perform case-sensitive comparison or not. It is an optional parameter as $length. If case-insensitivity is TRUE, then the comparison will be case-insensitive.

  • FALSE -Case-sensitive (default value)
  • TRUE - Case-insensitive

Return Values

This function returns the following values:

Return 0 - If both the given strings are equal.

Return < 0 - If $main_str (from start position) is less than $str.

Return > 0 - If $main _str (from start position) is greater than $str.

Note: If $length parameter value is equal and greater than the length of the main string ($main_str), then this function displays a warning and will return FALSE.

Changelog

VersionDescription
PHP 5.1.0It is possible to use a negative start_pos.
PHP 5.5.11$length can be 0 now.
PHP 7.2.18, 7.3.5$start_pos may be equal to the length of main string ($main_str).

Examples

Below few numbers of examples are given to learn the working of substr_compare() function.

Example 1

In the below example, we are passing 3 mandatory parameters in this function. Lets's see the working of substr_compare() with three arguments.

Output:

0
11
-5

Example 2

Output:

11		
0		
-1

Example 3

Output:

0		
1		
-1

Example 4: Case-sensitive/insensitive

In the below example, we are passing all the five parameters in this function. Lets's see the working of substr_compare() with all arguments.

Output:

0		
1		
0	





Latest Courses