In the world of web development, PHP is a popular scripting language used for creating dynamic and interactive websites. One of the many functions that PHP offers is the usort() function, which is used for sorting arrays in a specific order. However, there is another function called usort() that can be used for sorting arrays with custom sorting rules. In this article, we will discuss the usort() function in detail and demonstrate how it can be used to sort arrays in a custom manner.

What is usort() function?

The usort() function is a custom sorting function that allows you to sort arrays based on your own custom sorting rules. It is an alternative to the built-in usort() function in PHP that sorts arrays in ascending order. With usort(), you can define your own custom sorting rules that can be used to sort arrays in any order you desire.


The syntax for the usort() function is as follows:

usort($array, $callback);

Here, $array is the array that you want to sort, and $callback is the callback function that defines the custom sorting rules.

Example Usage

Let's take a look at an example to see how the usort() function works. Suppose we have an array of names that we want to sort in alphabetical order, but with a custom rule that all names starting with "J" should come first.


$names = ["John", "Adam", "Jack", "Jenny", "Bob"];
usort($names, function ($a, $b) {
    if ($a[0] == "J" && $b[0] != "J") {
        return -1;
    } elseif ($a[0] != "J" && $b[0] == "J") {
        return 1;
    } else {
        return strcmp($a, $b);


In this example, we define a callback function that compares two names and returns -1, 0, or 1 based on the custom sorting rules. If the first letter of $a is "J" and the first letter of $b is not "J", then $a comes before $b. If the first letter of $a is not "J" and the first letter of $b is "J", then $b comes before $a. If both names start with "J" or both do not start with "J", then we use the built-in strcmp() function to compare the names alphabetically.

After executing this code, the $names array will be sorted as follows:

    [0] => Jack
    [1] => Jenny
    [2] => Adam
    [3] => Bob
    [4] => John


In this article, we discussed the usort() function in PHP and demonstrated how it can be used to sort arrays with custom sorting rules. By defining a callback function, you can sort arrays in any order you desire, based on your own custom rules. This function can be especially useful in situations where the built-in sorting functions in PHP are not sufficient for your needs. With the usort() function, you have complete control over how your arrays are sorted.

Practice Your Knowledge

What is the purpose of the usort() function in PHP?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.

Do you find this helpful?