我需要按日期排序一些数组,这里是数组的一个例子。
[0]=>
array(10) {
[0]=>
array(2) {
["title"]=>
string(123) "Text"
["date"]=>
string(25) "17 November 2013, 8:09 am"
}
[1]=>
array(2) {
["title"]=>
string(257) "Text"
["date"]=>
string(26) "15 November 2013, 10:26 pm"
...
[1]=>
array(10) {
[0]=>
array(2) {
["title"]=>
string(123) "Text"
["date"]=>
string(25) "16 November 2013, 8:09 am"
}
[1]=>
array(2) {
["title"]=>
string(257) "Text"
["date"]=>
string(26) "10 November 2013, 10:26 pm"
...
我使用此函数按日期排列数组,但这不起作用
function sortFunction( $a, $b ) {
return strtotime($a["date"]) - strtotime($b["date"]);
}
它按日期排列最内层的数组,但我想安排数据集中的所有元素而不仅仅是最里面的数组,任何想法如何解决这个问题?
更新
输出应该如下所示,
[0] =>
array(2) {
["title"]=>
string(123) "Text"
["date"]=>
string(25) "17 November 2013, 8:09 am"
}
[1] =>
array(2) {
string(123) "Text"
["date"]=>
string(25) "16 November 2013, 8:09 am"
}
[3] =>
array(2) {
string(123) "Text"
["date"]=>
string(25) "15 November 2013, 8:09 am"
}
等
答案 0 :(得分:0)
我将你的数组合并到一个父数组中。听起来你的sort函数正在处理内部数组,所以你应该能够对它们进行排序:
<?php
$new_array = array();
foreach($parent_array as $children) {
foreach($children as $grand_children) {
$new_array[] = $grand_children;
}
}
$parent_array = sortFunction($new_array);
unset($new_array);
print_r($parent_array); // now contains all (grand) children in one top level array
?>