我有一个 foreach 循环,它返回一个字符串。但是,我想重构此代码以使其在没有循环的情况下工作,并且应该给出当前元素的字符串。foreach ($orderWC->get_items() as $item_id => $item) { // Here you get your data $rank = wc_get_order_item_meta($item_id, 'Rank', true); var_dump($rank);}我试过了current();,但它返回一个 var_dump 的bool(false).$item_id = current($orderWC->get_items());$rank = wc_get_order_item_meta( $item_id, 'Rank', true ); 我的逻辑是否有缺陷,这根本不可能,还是我只是以错误的方式做事?有任何想法吗?提前致谢。编辑:我的实际问题是 foreach 循环内的 var_dump 返回在下图中找到的值,该值有重复。它列出了 Test1 和 Test2 两次,而我只需要它们一次(并分别访问它们)。这就是为什么我认为我不需要循环它们 - 以避免重复。
1 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
OP 是否仍然不清楚,因为可能$orderWC->get_items()是确实返回重复值(您没有在任何地方提及)的情况,您可以使用array_unique()在循环之前删除重复项。前任:
$arr = array_unique($orderWC->get_items());
foreach ($arr as $item_id => $item) {
$rank = wc_get_order_item_meta($item_id, 'Rank', true);
var_dump($rank);
}
- 1 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消