w3resource

PHP: strcoll() function

Description

The strcoll() function is used to compare two strings. The comparison is case sensitive and uses the current locale for doing the comparison.

Version:

(PHP 4 and above)

Syntax:

strcoll(string1, string2)

Parameters:

Name Description Required /
Optional
Type
string1 The first string to compare. Required String
string2 The second string to compare. Required String

Return value:

<0 : if string1<string2.

>0 : if string1>string2.

=0 : if string1=string2.

Value Type: Integer.

Example:

<?php
$a = 'aa';
$b = 'AA';
echo strcmp ($a, $b).'<br>';
setlocale (LC_COLLATE, 'C');
echo "C: " . strcoll ($a, $b).'<br>';
setlocale (LC_COLLATE, 'de_DE');
echo 'de_DE: '.strcoll ($a, $b).'<br>';
setlocale (LC_COLLATE, 'de_CH');
echo 'de_CH: '.strcoll ($a, $b).'<br>';
setlocale (LC_COLLATE, 'en_US');
echo 'en_US: '.strcoll($a, $b).'<br>';
?>

Output:

1
C: 1
de_DE: -2
de_CH: -2
en_US: -2

View the example in the browser

See also

PHP Function Reference

Previous: strcmp
Next: strcspn



PHP: Tips of the Day

In PHP, there are two versions of logical AND and OR operators.

Operator True if
$a and $b Both $a and $b are true
$a && $b Both $a and $b are true
$a or $b Either $a or $b is true
$a || $b Either $a or $b is true

Note that the && and || opererators have higher precedence than and and or. See table below:

Evaluation Result of $e Evaluated as
$e = false || true True $e = (false || true)
$e = false or true False ($e = false) or true

Because of this it's safer to use && and || instead of and and or.