PHP对象数组 - 试图提取密钥

时间:2017-12-28 13:45:11

标签: php arrays woocommerce

我正在收到像这样的WooCommerce订单产品meta_data ......

$item_meta_data = $item_values->get_meta_data();

这给了我以下......

WC_Meta_Data Object
(
    [current_data:protected] => Array
        (
            [id] => 8795
            [key] => Option 1
            [value] => Yes
        )

    [data:protected] => Array
        (
            [id] => 8795
            [key] => Option 1
            [value] => Yes
        )

)

我对返回的数据感到困惑,我想检查选项1是否已设置,我试图获得这样的密钥......

foreach($item_meta_data as $meta_data_item) {
    echo $meta_data_item['key'];
}

但这不起作用,因为它不是一个数组,任何人都有任何想法?

2 个答案:

答案 0 :(得分:1)

名为WC_Meta_Data的{​​{1}}类中有一种神奇的方法。

因此,您可以访问受保护的属性。例如:

__get

答案 1 :(得分:0)

您可以使用$item_meta_data->get_data()或一个具有$item_meta_data->id$item_meta_data->key$item_meta_data->value的特定项目访问所有数据。