/ / Сортиране на 2-мерните PHP масиви по дата - php, масиви, дата, сортиране, сравнение

Сортиране на двумерния PHP Array по дата - php, масиви, дата, сортиране, сравнение

Да речем, че имам PHP 2-d масив със следния формат:

$json =    [
{"value": "New", "date": $date},
{"value": "Open", "date": $date},
{"value": "Close", "date": $date}
]

$array = json_decode($json);

Ако датата е дата-час във формат m / d / Y, как да сортирам елементите на масива от най-ранната до последната дата?

Отговори:

1 за отговор № 1

Дадени данни като следното:

$json = "[ {"value": "New", "date": "06/21/2013"}, {"value": "Open", "date": "06/20/2013"}, {"value": "Close", "date": "06/22/2013"} ]";
$array = json_decode($json, TRUE);//array of objects, so set second parameter to TRUE
usort($array, function ($a, $b){
return strtotime($a["date"]) - strtotime($b["date"]);
});
print_r($array);

Това връща масив от масиви. Ако искате да го оставите като масив от обекти и да го кодирате отново като JSON, можете да използвате следното:

$array = json_decode($json);
$ord = array_map(function($a) {return $a->date;}, $array);
array_multisort($ord, $array);
$json = json_encode($array);