Essayez de jeter un coup d'œil à cette documentation .
Comme vous essayez de trier une partie spécifique de la valeur, vous devez écrire votre propre comparateur, et donc la seule méthode disponible est la méthode usort función.
La fonction uksort prend deux attributs, le tableau et le nom de la méthode que vous souhaitez utiliser pour effectuer votre comparaison. Vous écrivez ensuite cette méthode, qui prend deux valeurs en paramètre et renvoie un true ou un false, selon que la valeur est supérieure ou inférieure.
Par conséquent, vous devrez soustraire les valeurs entrantes, pour ne comparer que les chiffres.
L'exemple de code suivant semble fonctionner
function cmp($a, $b)
{
$a = substr($a, -1);
$b = substr($b, -1);
return $a >= $b;
}
$array = array(
'list[P] = 1',
'list[A] = 1',
'list[F] = 2',
'list[B] = 1'
);
usort($array, "cmp");
var_dump($array);
Le même code, mais en utilisant la fonction anonyme de PHP :
$array = array(
'list[P] = 1',
'list[A] = 1',
'list[F] = 2',
'list[B] = 1'
);
usort(
$array,
function ($a, $b){
$a = substr($a, -1);
$b = substr($b, -1);
return $a >= $b;
}
);
var_dump($array);