J'ai un script PHP dans lequel je réarrange un tableau multidimensionnel en utilisant la fonction usort().Question sur la fonction PHP usort
c'est un tableau d'échantillons (print_r-sortie) de tableau $ 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
)
)
Et voici mon script 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");
Je veux être en mesure de trier le tableau sur les différents sous-clés (c'est-à-dire nom, grade, id), mais cela ne fonctionne pas comme je le fais ci-dessus. Toutefois, si je change $val
dans la fonction de tri des films à la valeur "grade"
cela fonctionne, donc pour une raison quelconque, il ne me permettra pas d'envoyer un vaiable comme paramètre de tri.
qu'est-ce que je fais mal?
mon serveur est seulement 5.2 malheureusement – Volmar