如何在数组php中存储数组

时间:2016-11-10 05:17:06

标签: php arrays

我在数组中遇到了一些问题。 我有3个阵列。我想创建一行名为history,然后根据shipment_id插入该行。如果相同的shipment_id,它将组合相同的货件ID。请参阅下面的预期结果。

Array a ( 
 [0] => Array ( 
    [order_id] => 231 
    [name] => "One Layer Lunch Box 
    [quantity] => 1 
    [username] => linkath 
    [shipment_id] => SI000116 ) 
 [1] => Array ( 
    [order_id] => 231 
    [name] => "Test 03 
    [quantity] => 1 
    [username] => happymart 
    [shipment_id] => SI000117 ) )
Array b ( 
 [0] => Array ( 
    [shipment_id] => SI000116
    [date] => 2016-11-09 09:40:26 
    [status] => Ready to ship 
    [description] => Your item(s) is being packed and ready for shipment at our vendor's warehouse. ) 
 [1] => Array ( 
    [shipment_id] => SI000116
    [date] => 2016-11-09 10:16:04 
    [status] => Shipped 
    [description] => Your item(s) is being shipped with . For more details on your shipment, please go to Tracking, enter your tracking number ) )
Array c ( 
 [0] => Array ( 
    [shipment_id] => SI000117
    [date] => 2016-11-09 15:27:45 
    [status] => Ready to ship 
    [description] => Your item(s) is being packed and ready for shipment at our vendor's warehouse. ) )

正如预期的数组

Array a ( 
[0] => Array ( 
    [order_id] => 231 
    [name] => "One Layer Lunch Box 
    [quantity] => 1 
    [username] => linkath 
    [shipment_id] => SI000116
    [history] => Array b ( 
                [0] => Array ( 
                    [shipment_id] => SI000116
                    [date] => 2016-11-09 09:40:26 
                    [status] => Ready to ship 
                    [description] => Your item(s) is being packed and ready for shipment at our vendor's warehouse. ) 
                [1] => Array ( 
                    [shipment_id] => SI000116
                    [date] => 2016-11-09 10:16:04 
                    [status] => Shipped 
                    [description] => Your item(s) is being shipped with . For more details on your shipment, please go to Tracking, enter your tracking number ) ) ) 
[1] => Array ( 
    [order_id] => 231 
    [name] => "Test 03 
    [quantity] => 1 
    [username] => happymart 
    [shipment_id] => SI000117 
    [history] => Array c ( 
                [0] => Array ( 
                    [shipment_id] => SI000117
                    [date] => 2016-11-09 15:27:45 
                    [status] => Ready to ship 
                    [description] => Your item(s) is being packed and ready for shipment at our vendor's warehouse. ) )
            ) 
    )

希望明白我的意思。提前谢谢。

我试过的这段代码。但没有工作。

//tracker
        $getshipment = $this->model_account_order->getshipmentByOrder($this->request->get['order_id']);

        foreach ($getshipment as $shipment) {
            $data['shipment'][] = array(
                'shipment_id'   => $shipment['shipment_id']
            );
        }
        $i=0;
        foreach ($data['shipment'] as $key) {
            $gethistorybysid[$i] = $this->model_account_order->getHistory($data['shipment'][$i]['shipment_id']);
            $i++;
        }
        $u=0;
        foreach ($getshipment as $final) {
            $data['final'][] = array(
                'name'          => $shipment['name'],
                'quantity'      => $shipment['quantity'],
                'shipment_id'   => $shipment['shipment_id'],
                'history'       => array($gethistorybysid[$u])
            );
            $u++;
        }
        print_r($data['final']);

此代码我不知道如何比较相同的货件ID。它有什么办法吗?

0 个答案:

没有答案