2013-11-17 2 views
0

Есть несколько наборов массивов, которые мне нужно упорядочить по дате, вот пример массива.PHP порядок массива по дате

[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"]); 
} 

Он организует внутренний наиболее массив по дате, но я хочу, чтобы расположить все элементы в Data- установить не только самый внутренний массив, но и любую идею, как это исправить?

Update

Вывод должен выглядеть следующим образом,

[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" 
} 

и т.д.

+2

Приведите пример того, как должен выглядеть результирующий массив. – Oswald

+0

@ Освальд сделал :) – rksh

ответ

0

Я бы объединить свои массивы в один родительский массив. Похоже, что ваша функция сортировки работает на внутренних массивах, поэтому вы должны иметь возможность сортировать их все тогда:

<?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 

?> 
Смежные вопросы