0

在我的项目中,我有以下类型的数组。请帮助我找到解决方案。数组如下,请参考。它看起来像以下。

 [0] => Array
     (
            [Notification] => Array
               (
                  [id] => 135
                  [notification_date] => 2013-09-18
                  [short_desc] => dsfdfdfdf
                  [long_desc] =>
               )

             [NotificationProduct] => Array
                 (
                    [0] => Array
                       (
                           [id] => 41
                           [notification_id] => 135
                           [product_id] => 20
                           [Product] => Array
                                 (
                                   [id] => 20
                                   [category_id] => 2
                                   [name] => asasasa
                                  )

                      )

                     [1] => Array
                       (
                         [id] => 42
                         [notification_id] => 135
                         [product_id] => 21
                         [Product] => Array
                                 (
                                   [id] => 21
                                   [category_id] => 2
                                   [name] => corn flakcf

                                  )

                         )

                  )

    )

我有上述类型的数组。现在我想将其转换为以下方式:

 [0] => Array
     (
            [Notification] => Array
               (
                  [id] => 135
                  [notification_date] => 2013-09-18
                  [short_desc] => dsfdfdfdf
                  [long_desc] =>
               )

             [NotificationProduct] => Array
                 (
                    [0] => Array
                       (
                           [id] => 41
                           [notification_id] => 135
                           [product_id] => 20
                           [name] => asasasa
                      )

                     [1] => Array
                       (
                         [id] => 42
                         [notification_id] => 135
                         [product_id] => 21
                         [name] => corn flakcf
                        )

                )
  )
 Is there any way to convert it into that kind of array.

谢谢!

4

3 回答 3

0
   $name = $array[0]['NotificationProduct'][0]['product']['name']
   unset($array[0]['NotificationProduct'][0]['product'])
   $array[0]['NotificationProduct'][0]['name'] = $name;

做同样的事情$array[0]['NotificationProduct'][1]['product']

于 2013-10-02T08:27:00.817 回答
0

尝试以下操作:

            $counter = 0;
            $responseArray = array();
            foreach($notifications as $notification){
               $responseArray[$counter]['Notification'] = $notification['Notification'];
               $counter1 = 0;
               foreach($notification['NotificationProduct'] as $notificationProduct){
                   $responseArray[$counter]['NotificationProduct'][$counter1]['product_id'] = $notificationProduct['product_id'];
                   $responseArray[$counter]['NotificationProduct'][$counter1]['product_name'] = $notificationProduct['Product']['name'];
                   $responseArray[$counter]['NotificationProduct'][$counter1]['product_desc'] = $notificationProduct['Product']['description'];
                   $counter1++;
               }
               $counter++;
            }
于 2013-10-02T10:16:21.980 回答
0

假设您的数组是 name $notices,试试这个:

foreach($notices AS $key => $val )
{
    if($key=='NotificationProduct')
    {
        foreach($val AS $idx => $np )
        {
            $notices[$key][$idx]['name'] = $notices[$key][$idx]['Product']['name'];
            unset($notices[$key][$idx]['Product']);
        }
    }
}
于 2013-10-02T10:19:39.167 回答