为了账号安全,请及时绑定邮箱和手机立即绑定

仅将 PHP foreach 重构为当前元素(无循环)

仅将 PHP foreach 重构为当前元素(无循环)

PHP
largeQ 2021-11-26 15:04:42
我有一个 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);

}


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信