0
我正在寻找一个解决方案,通过键排序多维数组,重点是我可以排序一组数组的多维,没有自定义键ID和数组是集,但这个数组包含自定义键,我需要按日期排序:按键排列多维数组
我的数组是:
$newDataSet = array(
'2017-02-03' => array(
array(
array(
'name' => 'Paul',
'state' => 'in',
'date' => '2017-02-03'
),
array(
'name' => 'Paul',
'state' => 'out',
'date' => '2017-02-03'
)
)
),
'2017-01-02' => array(
array(
array(
'name' => 'John',
'state' => 'in',
'date' => '2017-01-02'
),
array(
'name' => 'John',
'state' => 'out',
'date' => '2017-01-02'
)
)
),
'2017-04-01' => array(
array(
array(
'name' => 'Smith',
'state' => 'in',
'date' => '2017-04-01'
),
array(
'name' => 'Smith',
'state' => 'out',
'date' => '2017-04-01'
)
)
)
);
uasort($newDataSet, function($a, $b) { return($a['date'] - $b['date']); });
据我了解usort将整理仅多维数组,所以在我的情况是错误的,因为我没有结构使用它,有没有办法通过按键顺序排序?我的意思是由date
asc?
任何提示/文档更好的理解是赞赏。
预期结果:
$newDataSet = array(
'2017-01-02' => array(
array(
array(
'name' => 'Paul',
'state' => 'in',
'date' => '2017-01-02'
),
array(
'name' => 'Paul',
'state' => 'out',
'date' => '2017-01-02'
)
)
),
'2017-02-03' => array(
array(
array(
'name' => 'John',
'state' => 'in',
'date' => '2017-02-03'
),
array(
'name' => 'John',
'state' => 'out',
'date' => '2017-02-03'
)
)
),
'2017-04-01' => array(
array(
array(
'name' => 'Smith',
'state' => 'in',
'date' => '2017-04-01'
),
array(
'name' => 'Smith',
'state' => 'out',
'date' => '2017-04-01'
)
)
)
);
是http://php.net/manual/en/function.array-multisort.php你在找什么? –
你好@GisoStallenberg我正在寻找按日期排序ASC从数据库中我有一个联盟所有给我第一次和第二次,并按日期预先排序asc但根本没有,我做了一个foreach和按日期分组并且我创建了一组新的数组,但是正如您所看到的,日期不是由ASC排序的。 Thx – ndAR
好的,对我而言,预期结果会是什么非常不明确。你可以添加预期的结果吗? –