1
$data = array(
array('zz', 'name' => 'Jack', 'number' => 22, 'birthday' => '12/03/1980'),
array('xx', 'name' => 'Adam', 'number' => 16, 'birthday' => '12/03/1980'),
array('aa', 'name' => 'Paul', 'number' => 13, 'birthday' => '12/03/1980'),
array('cc', 'name' => 'Helen', 'number' => 44, 'birthday' => '24/06/1967'),
);
我想排序上面的數組。sort asc depence on two fields - 多維排序
首先,我想通過birthday
。從數組birthday
我想通過number
。我很喜歡除外這個陣列的輸出數組排序,
$data = array(
array('cc', 'name' => 'Helen', 'number' => 44, 'birthday' => '24/06/1967'),
array('aa', 'name' => 'Paul', 'number' => 13, 'birthday' => '12/03/1980'),
array('xx', 'name' => 'Adam', 'number' => 16, 'birthday' => '12/03/1980'),
array('zz', 'name' => 'Jack', 'number' => 22, 'birthday' => '12/03/1980'),
);
從我得到的各個環節進行排序這種解決方案,因爲我除外,其不工作,它是由數排序的值僅
usort($array, function($a, $b) {
$rdiff = $a->birthday - $b->birthday;
if ($rdiff) return $rdiff;
return $a->number - $b->number;
});
是的,忘記these.working罰款。 – user2439275