Mysql
 sql >> Base de données >  >> RDS >> Mysql

Trier les tableaux par date

Ce que vous essayez de faire est de trier un tableau multidimensionnel, vous pouvez en trouver beaucoup sur Google à ce sujet. Une belle solution élégante serait quelque chose comme :

// Sort the multidimensional array
usort($results, "custom_sort");

// Define the custom sort function
function custom_sort($a,$b) {
     return $a['some_sub_var']>$b['some_sub_var'];
}

MODIFICATION 1 :

Pour ceux qui, dans les commentaires, doutent que ce code fonctionne, n'hésitez pas à l'essayer (j'ai même ajouté une date qui est un doublon à des fins de test) :

function custom_sort($a,$b) {
        return $a['added']>$b['added'];
}

$arrayToSort = array(
                    array(
                        "added" => "2012-01-17 07:33:53",
                        "type" => "1"
                    ),
                    array(
                        "added" => "2012-01-13 06:36:22",
                        "type" => "1"
                    ),
                    array(
                        "added" => "2012-01-09 04:01:12",
                        "type" => "2"
                    ),
                    array(
                        "added" => "2012-02-08 02:08:32",
                        "type" => "2"
                    ),
                    array(
                        "added" => "2012-01-25 00:09:08",
                        "type" => "2"
                    ),
                    array(
                        "added" => "2012-01-13 06:36:22",
                        "type" => "1"
                    ),
                    array(
                        "added" => "2012-01-13 06:36:22",
                        "type" => "1"
                    ),
                    array(
                        "added" => "2012-01-23 00:09:08",
                        "type" => "3"
                    ),
                    array(
                        "added" => "2012-01-22 00:09:08",
                        "type" => "3"
                    )
                );
usort($arrayToSort, "custom_sort");

echo '<pre>';
print_r($arrayToSort);
echo '</pre>';
';

Un bon endroit pour tester rapidement serait d'aller sur http://writecodeonline.com/php/ .