Implementing stable sort
When designing the logic for array sorting, the original PHP developers sacrificed stability for speed. At the time, this was considered a reasonable sacrifice. However, if complex objects are involved in the sorting process, a stable sort is needed.
In this section, we discuss what stable sort is, and why it's important. If you can ensure that data is stably sorted, your application code will produce more accurate output, which results in greater customer satisfaction. Before we get into the details of how PHP 8 enables stable sorting, we first need to define what a stable sort is.
Understanding stable sorts
When the values of properties used for the purposes of a sort are equal, in a stable sort the original order of elements is guaranteed. Such a result is closer to user expectations. Let's have a look at a simple dataset and determine what would comprise a stable sort. For the sake of illustration, let's assume our dataset includes...