Longue histoire courte, j'ai besoin de trier un tableau d'objets en utilisant usort, et je dois dire usort quels champs dans les objets à trier.Utiliser PHP usort avec des résultats conditionnels
La solution évidente est de créer des dizaines de fonctions de tri usort séparées, mais cela semble sorte de redondant et moche. La plupart du temps, les objets seront triés par entrée de $ _GET, mais pas toujours, donc je ne veux pas trier directement les variables $ _GET.
Est-il possible pour la fonction usort d'utiliser la fonction de tri de la classe actuelle? Quelque chose comme ça
<?php
class myClass
{
public $myArray;
private $by;
public function filter($by)
{
$this->by = $by;
usort($this->myArray, /* Somehow point to the following function: */);
}
private function srt($a, $b)
{
$c = $this->by; // <- reaching a third variable
// ...
}
}
?>
+1. Très bonne idée. – pltvs