У меня есть PHP-скрипт, в котором я перестраиваю многомерный массив с помощью функции usort () -.
это примерный массив (print_r-output) массива $ arr
Array
(
[3] => Array
(
[name] => Bjudningen
[grade] => 5
[grade_type] => calculated
[orgname] => LInvitation
[id] => 13975
)
[0] => Array
(
[name] => Coeur fidèle
[grade] => 3
[grade_type] => calculated
[orgname] => Coeur fidèle
[id] => 8075
)
[2] => Array
(
[name] => Dawsonpatrullen
[grade] => 5
[grade_type] => calculated
[orgname] => The Dawson Patrol
[id] => 13083
)
)
И это мой PHP-скрипт
function sort_movies($arr,$val){
function cmp($x, $y)
{
if ( $x[$val] == $y[$val] )
return 0;
else if ( $x[$val] < $y[$val] )
return -1;
else
return 1;
}
usort($arr, 'cmp');
return $arr;
}
$sorted = sort_movies($arr,"grade");
Я хочу иметь возможность сортировать массив по различным подразделам (например, имя, класс, идентификатор), но это не работаетЯ делаю это выше.однако, если я изменю $val
в функции сортировки фильмов на значение "grade"
, это сработает, поэтому по какой-то причине он не позволит мне отправить переменную в качестве параметра сортировки.
это я делаю не так?