此问题在此处已有答案:
removing elements from an array - that DON'T appear in another array in PHP(2个答案)
5天前关闭。
这篇文章是4天前编辑并提交审查的。
我已经有了这些检查购物车中的产品ID的函数,但是我需要使用变量$products_ids
来检查添加到表单中的产品ID数组。
**更新2:**这是两个数组的默认var_dump:
$products_ids
如下
array (size=2)
0 => int 111342
1 => int 111347
$cart_ids
array (size=3)
'e877cbddd23b3bfa5b77782ba905b32e' => int 111347
'696d28043ad274014f653ca2d9a64812' => int 111342
'4363f14c8e54babb17770c2b4980ceed' => int 14535
这是我正在尝试的新代码:
function matched_ids() {
$cart_ids = array_merge(
wp_list_pluck(WC()->cart->get_cart_contents(), 'variation_id'),
wp_list_pluck(WC()->cart->get_cart_contents(), 'product_id')
);
$product_ids = get_option('restricted_product_ids');
$ids = array_map('intval', explode( ',', $product_ids ) );
return array_intersect( $ids, $cart_ids );
}
但是当我需要它检查$products_ids数组与$cart_ids数组以找到匹配的id并在前端输出matched_ids()
函数以显示matched string的产品id时,它返回Array。
1条答案
按热度按时间qxgroojn1#
这应该可以了
我们获取购物车中的所有商品并循环遍历它们。在循环中,我们可以访问每个商品的产品ID。然后,我们可以使用产品ID检查它是否存在于受限数组中,然后将其推送到输出。