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 — ユーザー定義の比較関数を使ってソートを行い、インデックスとの関連を管理する
この関数は、ユーザー定義の比較関数を使って 関連している値とインデックスの関係を管理する方法で、要素をソートします。
注意:
比較結果が等しくなる二つの要素があった場合、それらの並び順は保持されます。PHP 8.0.0 より前のバージョンでは、ソートした配列におけるそれらの並び順は不定でした。
callback
比較関数は、最初の引数と二番目の引数の比較結果を返します。最初の引数のほうが二番目の引数より大きい場合は正の整数を、二番目の引数と等しい場合はゼロを、そして二番目の引数より小さい場合は負の整数を返す必要があります。
常に 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