2014-08-31 6 views
0

Я пытаюсь получить массив в следующем формате:Упорядочивание данных в PHP массив

Array 
(
    [2014] => Array 
     (
      [Aug] => Array 
       (
        [0] => Array 
         (
          [0] => 49 
          [1] => Third and FInal Post. 
         ) 
        [1] => Array 
         (
          [0] => 47 
          [1] => Hello this is my First Post. 
         ) 

       ) 

     ) 

    [2013] => Array 
     (
      [Sep] => Array 
       (
        [0] => Array 
         (
          [0] => 48 
          [1] => Second Post! 
         ) 
       ) 

     ) 

) 

В настоящее время я использую следующее.

$query = "select id,heading,date from post order by date desc;"; 
$navarray=array(); 
$result = mysqli_query($connection,$query); 
while(($row = mysqli_fetch_row($result)) 
$navarray[date('Y',strtotime($row['2']))][]=array(date('M',strtotime($row['2'])), array($row[0],$row[1])); 

Любая идея, где я ошибаюсь? Я знаю, что это должен быть маленький шаг, но я не думаю об этом сейчас!

+0

Какой формат соответствует вашему коду? –

+0

Что не работает как исключено? Какой результат дает ваш код? Как выглядит таблица? [ask] – idmean

+0

не могу написать код здесь! см. этот PLS. http://freetexthost.com/0yaoawmm6b – unkn0wn

ответ

0

Установка переменных года и месяца строго не требуется, но это делает ее более читаемой и легче видеть, какой выход вы получите.

$query = "select id,heading,date from post order by date desc;"; 
$navarray=array(); 
$result = mysqli_query($connection,$query); 
while(($row = mysqli_fetch_row($result)) { 
    $year = date('Y',strtotime($row['2'])); 
    $month = date('M',strtotime($row['2']); 
    $navarray[$year][$month][] = array($row[0],$row[1])); 
} 

примечания есть некоторые uncertanties, как вы не предоставите, что выход вы получаете атм это трудно знать, если это действительно будет работать.

+0

Эй, это сработало точно так, как мне было нужно! Думаю, я боялся 3D-массива! : D Спасибо за помощь. И я не получаю последнее заявление. Есть ли проблемы в этом смысле? – unkn0wn

+0

@ unkn0wn не проблема, было просто неясно, будет ли это поставлять массив, который вам нужен, поскольку вы не дали код, который у вас был atm + полученный вами результат. если бы у меня был и код, и вывод, я мог быть уверен, что строка [0] и строка [1] содержат данные, которые вы хотели на самом низком уровне. – JimL

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