[英]how to check if the key array has the same value or more than one
我有一个数组(变量$ items),其中存在相同的invenid(不止一个),如何检查是否存在多个invenid,以及如何从每个现有数组中添加total_price并创建一个新的key(即Discount_price)。 这是我的数组: ![阵列] [1]
function apply_promotion($items){
foreach($items as $key => $val){
if(isset($val['promo'])){
$promo_type = $val['promo']['slug'];
$start_date = $val['promo']['startdate'];
$end_date = $val['promo']['enddate'];
if(($start_date != '0000-00-00') && ($end_date != '0000-00-00') && (strtotime(timetodate(DT_TIME, 3)) >= strtotime($start_date)) && (strtotime(timetodate(DT_TIME, 3)) <= strtotime($end_date))){
switch($promo_type){
case "item-promotion":
$purchase = dround($val['total_price'], 2, 1);
if($purchase >= $val['promo']['min_purchase'] && empty($val['promo_code'])){
$items[$key]['discount_price']= dround($val['promo']['discount_amount'], 2, 1);
}
break;
}
}
}
}
echo '<pre>'.print_r($items, 1).'</pre>';die();
return $items;
}
您可以通过引用使用foreach
foreach($a as $key => &$val){
($val['invenid'] > 1) ? ($val['total_price'] = 12.00) : '';
}
尝试使用array_keys()
例如:
$array1 = array([0],[1]);
print_r(array_keys($array1));
它将返回数组中的所有键
您可以在这里找到更多信息
使用array_unique()函数,它将删除数组中的重复值。 如果两个或多个数组值相同,则将保留第一个外观,并删除另一个外观
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.