<?php
$arr = array('php__01.png','php__02.png','php__03.png','php_2_01.png','php_2_02.png','php_10_01.png','php_10_02.png','php_9_02.png','php_9_01.png','php_9_03.png');
$cb = function($valueA, $valueB) {
$vA = explode('_', $valueA);
$vB = explode('_', $valueB);
$element = 0;
do {
$x = $vA[$element] - $vB[$element++];
} while ($x <> 0);
return $x;
};
usort($arr, $cb);
var_dump($arr);
preferences:
46.27 ms | 402 KiB | 5 Q