我正在创建一个WooCommerce插件,可根据日期和电子邮件地址检测重复的客户订单。我能够创建一个数组,其中包含我需要的所有数据。如果存在重复,则会将订单ID添加到正确的电子邮件地址。
但现在我想删除所有只有1个订单ID的数组。
CODE:
regex
输出:
$i = 0;
$big_order = array();
foreach($order_ids as $id) {
$order = new WC_Order($id);
//print_r ($order);
if(array_search($order->billing_email, array_column($big_order, 'email')) !== false){
$key = array_search($order->billing_email, array_column($big_order, 'email'));
$big_order['row-'.$key]['order_id'][] = $id;
} else {
$big_order['row-'.$i]['email'] = $order->billing_email;
$big_order['row-'.$i]['order_id'][] = $id;
}
$i++;
}
print_r ($big_order);
在这种情况下,我只需要第2行数组。 谢谢你的帮助。
答案 0 :(得分:0)
使用array_filter()
和count()
:
$big_order = array_filter($big_order, function (array $row) {
return 1 < count($row['order_id']);
});
供参考,见: