Maison >développement back-end >tutoriel php >Comment trier un tableau PHP multidimensionnel par un élément Datetime ?
Considérons un tableau avec une structure similaire à celle ci-dessous :
$array = [ [ 'id' => 2, 'type' => 'comment', 'text' => 'hey', 'datetime' => '2010-05-15 11:29:45', ], [ 'id' => 3, 'type' => 'status', 'text' => 'oi', 'datetime' => '2010-05-26 15:59:53', ], [ 'id' => 4, 'type' => 'status', 'text' => 'yeww', 'datetime' => '2010-05-26 16:04:24', ], ];
Comment pouvons-nous trier ce tableau par l'élément 'datetime' ?
La fonction usort() de PHP prend un tableau et une fonction de comparaison qui détermine l'ordre des éléments. Nous pouvons créer une fonction de comparaison personnalisée appelée date_compare comme suit :
function date_compare($a, $b) { $t1 = strtotime($a['datetime']); $t2 = strtotime($b['datetime']); return $t1 - $t2; }
Cette fonction extrait l'horodatage UNIX pour le champ 'datetime' de chaque enregistrement et renvoie la différence entre eux. Ces informations sont utilisées par usort() pour trier le tableau.
Enfin, nous pouvons appliquer la fonction de tri au tableau en utilisant usort() :
usort($array, 'date_compare');
Cela triera le tableau par ordre croissant en fonction de l'élément 'datetime'.
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!