В PHP> = 5,3
usort ($array, function ($left, $right) {
return $left['priority'] - $right['priority'];
});
или в более ранней версии
function cmp($left, $right) {
return $left['priority'] - $right['priority'];
}
usort($array, 'cmp');
Или используйте create_function () (также для версии <5.3) </p>
usort ($array, create_function('$left,$right', 'return $left[\'priority\'] - $right[\'priority\'];'));
Это работает, потому что (int) true === 1
и (int) false === 0
true - true == 0
true - false == 1
false - true == -1
false - false == 0