Cela inclut les tableaux multidimensionnels, y compris les tableaux d'objets, et le tri un tableau basé sur un autre.
Tri Fonctions :
PHP nécessite une fonction de comparaison personnalisée pour trier les valeurs complexes.
Étapes :
Créez une fonction de comparaison qui prend deux éléments et renvoie :
Utilisez-en un fonctions :
Si vous triez par un chiffre clé :
function cmp(array $a, array $b) { return $a['baz'] - $b['baz']; }
Si vous triez un tableau d'objets :
function cmp($a, $b) { return $a->baz - $b->baz; }
Pour le tri principal par un champ (par exemple, "foo") et tri secondaire par un autre (par exemple, "baz") :
function cmp(array $a, array $b) { if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) { return $cmp; } else { return $a['baz'] - $b['baz']; } }
Pour trier dans un ordre spécifique (par exemple, "foo", "bar", "baz") :
function cmp(array $a, array $b) { static $order = array('foo', 'bar', 'baz'); return array_search($a['foo'], $order) - array_search($b['foo'], $order); }
Pour trier un tableau en fonction d'un autre un autre :
array_multisort($array1, $array2);
Depuis PHP 5.5.0, vous pouvez utiliser array_column pour extraire une colonne spécifique et trier le tableau en conséquence :
array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!