Even if documentation says that $cmp_function must be a string, this method works with a Callable also.
Example:
<?php
$iterator->uasort([$this, 'usort']); // 'usort' here is a method in the same class
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayIterator::uasort — Sort with a user-defined comparison function and maintain index association
This method sorts the elements such that indices maintain their correlation with the values they are associated with, using a user-defined comparison function.
Note:
If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.
callback
The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.
Always returns true
.
Even if documentation says that $cmp_function must be a string, this method works with a Callable also.
Example:
<?php
$iterator->uasort([$this, 'usort']); // 'usort' here is a method in the same class