PHP对象数组-尝试提取密钥
我得到一个商业订单的产品元数据如下PHP对象数组-尝试提取密钥,php,arrays,woocommerce,Php,Arrays,Woocommerce,我得到一个商业订单的产品元数据如下 $item_meta_data = $item_values->get_meta_data(); foreach($item_meta_data as $meta_data_item) { echo $meta_data_item['key']; } 这给了我以下 WC_Meta_Data Object ( [current_data:protected] => Array ( [id]
$item_meta_data = $item_values->get_meta_data();
foreach($item_meta_data as $meta_data_item) {
echo $meta_data_item['key'];
}
这给了我以下
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,我已经尝试像这样获取密钥
$item_meta_data = $item_values->get_meta_data();
foreach($item_meta_data as $meta_data_item) {
echo $meta_data_item['key'];
}
但这不起作用,因为它不是数组,有人有什么想法吗?您可以使用
$item\u meta\u data->get\u data()访问所有数据
或一个带有$item\u meta\u data->id
或$item\u meta\u data->key
或$item\u meta\u data->value
的特定项在WC\u meta\u data
名为\u get
的类中有一种神奇的方法
因此,您可以访问受保护的属性。例如:
$item_meta_data->key
也许考虑使用您尝试过的方法,也许首先使用<代码>(数组)$ITMESMETAYODATABASE < /COD>或<代码>(对象)$ITMESMETAYATODATABASE <代码>?我已经查看了可用的方法,但不能使它按照我的意愿去做。也许是我对文件缺乏了解。将有一个进一步的读数,给我一个错误。。。调用上的成员函数get_data()array@fightstarr20同样的事情也发生在我身上。这是因为数组中有一个元素。因此,在这种情况下,
$item\u meta\u data[0]->key
会起作用,-但您可能应该稍微重构一下代码(因为$item\u meta\u data
是item\u meta\u数据的数组)。