1

私はここで本当に厳しい状況にあります。

これらのオブジェクトの配列があります

ProductionItem Object
(
    [customer] => Customer Object
        (
            [customer_id] =>24
            [company_type] => Limited Company
            [date_created] => 2009-01-28 15:55:50
            [vat] => 
            [status] => 1
            [account_number] => 590893
        )

    [woi_id] => 67017
    [od_id] => 7154
    [pd_id] => 1112
    [od_qty] => 0
    [od_color] => TEAL BLUE
)

この構造に似たものの多次元配列に変換しようとしています

$allOrders[24] = array (
        objects[0] => array(
                'woid_ud' = 67017,
                'od_id' = 7154,
                'pd_id' = 1112,
                'od_qty' = 0,
                'od_color' = 'TEAL BLUE'
                ),
        objects[1] => array(
                'woid_ud' = 75839,
                'od_id' = 5890,
                'pd_id' = 2344,
                'od_qty' = 0,
                'od_color' = 'TEAL GRAY'
                )
        )

私が欠けているものはありますか?これは本当に簡単ですか?アドバイスをお願いします。私はそれらのオブジェクトを反復しようとしましたが、それでも機能せず、見苦しく見えます。

4

1 に答える 1

1

関数を使用する必要がありますget_object_vars

function object_to_array($obj){
    if(!is_object($obj)){
       return $obj;
    }
    $data = array();
    foreach(get_object_vars($obj) as $k=>$v){
        $data[$k] = object_to_array($v);
    }
    return $data;
}
于 2012-04-04T16:53:13.080 に答える