2012-03-29 3 views
0

У меня возникла проблема с получением этого массива в формате, который я могу использовать. Есть дополнительные данные, которые не отображаются в моем цикле foreach. Может ли кто-нибудь посмотреть, как я построил массив и рассказать мне, что я делаю неправильно?Как правильно построить массив

Будет более одного департамента и более одного места. Местоположение зависит от того, сколько мест находится в отделе.

foreach... 
    $arr[$db['name']] = 
     array($db['date'] => 
     array($db['dept'] => (Need other departments to show) 
      array($db['location'] => $db) (Need more locations for above dept.) 
     ) 
    ); 

дает мне:

Array 
(
    [training] => Array 
    (
    [08-24-2011] => Array 
    (
     [dept1] => Array <----------There is more than one department that should show 
     (
     [dept1 Other] => Array <--There is more than one location that should show 
     (
      [start_time] => 03:00 
      [end_time] => 19:00 
     ) 
    ) 
    ) 
) 
) 

Это то, что я после. Мне просто нужно знать, как заказать его, чтобы мой массив создавал этот путёт;

Array 
(
    [training] => Array 
    (
    [08-24-2011] => Array 
    (
     [dept1] => Array 
     (
     [dept1 Other] => Array 
     (
      [start_time] => 03:00 
      [end_time] => 19:00 
     ) 
     [dept2 Other] => Array 
     (
      [start_time] => 03:00 
      [end_time] => 19:00 
     ) 
    ) 
     [dept2] => Array 
     (
     [dept1 Other] => Array 
     (
      [start_time] => 03:00 
      [end_time] => 19:00 
     ) 
     [dept2 Other] => Array 
     (
      [start_time] => 03:00 
      [end_time] => 19:00 
     ) 
     [dept3 Other] => Array 
     (
      [start_time] => 03:00 
      [end_time] => 19:00 
     ) 
    ) 
    ) 
) 
) 
+0

Похоже, вы делаете что-то нестандартное. Не могли бы вы показать нам пример массива, который вы хотели бы получить? – octern

+0

@octern, то, что я делаю, просто переупорядочивает мой массив из базы данных. Я хочу просто изменить поля вокруг – Muzz

+0

. Ваша входная информация неясна. Почему бы вам не попробовать 'var_dump'? – Raptor

ответ

0

Что такое var_dump не связанных циклов obj или массива?

Существует несколько возможностей. Вот колото на двух из них:

  1. Данные, которые вы петельный не достаточно работоспособный с петлей Еогеаспа. Я полагаю, это то, что происходит:

    $arr = array(); 
    foreach($dbObj as $db) 
    { 
        //your loop goes here 
        // 
    } 
    

Вам нужно сбросить $ dbObj в этом случае. Это 2D-массив, как вы его рассматриваете? Возможно, это действительно 3D, и вы недостаточно зацикливаетесь ...

  1. Вы только вытаскиваете один предмет из своего БД по вашему запросу. Проверьте, что ...
+0

Спасибо Мэтью, я тянул ассоциативный массив. Благодарю. – Muzz

+0

Рад помочь! Такие вещи могут быть сложными, пока вы не сделали это много раз. :) Дайте мне знать, если вы столкнетесь с каким-либо дополнительным моментом в построении массива. –