0

私は配列を持っています。print_r この配列の結果は次のとおりです。

Array
(
    [flat_rate] => WC_Shipping_Rate Object
        (
            [id] => flat_rate
            [label] => book
            [cost] => 8000
            [taxes] => Array
                (
                )

            [method_id] => flat_rate
        )

    [local_delivery] => WC_Shipping_Rate Object
        (
            [id] => local_delivery
            [label] => dvd
            [cost] => 15000
            [taxes] => Array
                (
                )

            [method_id] => local_delivery
        )

)

このような配列を作成する必要があります。私はこのコードでこの配列を試します:

Array("flat_rate" => (object) Array("id" => "flat_rate" ,"label" => "book" ,"cost" => 8000 ,"taxes" => Array ( ) ,"method_id" => "flat_rate") ,"local_delivery" => (object) Array("id" => "local_delivery" ,"label" => "book" ,"cost" => 15000 ,"taxes" => Array ( ) ,"method_id" => "local_delivery"));

しかし、この配列をprint_rすると、stdClassによってWC_Shipping_Rateが変化します

4

1 に答える 1

2

本当に何がしたいのか、理解に苦しむ。私が理解している限りでは、内部にインスタンス WC_Shipping_Rate のオブジェクトを含む配列を作成したいですか? その場合は、クラス WC_Shipping_Rate の新しいインスタンスを作成する必要があります。$object = new WC_Shipping_Rate;それから、それを入力して配列に適用するだけです。

$object = new WC_Shipping_Rate();
$object->id = 'local_delivery'; // OR with setter, if the class has it $object->setId('local_delivery');
$object->label = 'dvd';
// ...etc
$array = array(
    "flat_rate" => $object
);
于 2013-07-05T15:55:02.480 に答える