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

如何检查键数组是否具有相同的值或多个

如何检查键数组是否具有相同的值或多个

PHP
九州编程 2021-11-05 10:23:42
我有一个数组(变量 $items),其中有相同的 invenid(多个)如何检查是否有多个 invenid 以及如何从每个现有数组添加 total_price 并创建一个新的键为 discount_price。这是我的数组: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;    }
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您可以使用foreachwith pass by reference


 foreach($a as $key => &$val){

   ($val['invenid'] > 1) ? ($val['total_price'] = 12.00) : '';

 }


查看完整回答
反对 回复 2021-11-05
?
慕仙森

TA贡献1827条经验 获得超7个赞

尝试使用 array_keys()

前任:

$array1 = array([0],[1]);
print_r(array_keys($array1));

它将返回数组中的所有键

您可以在此处找到更多信息


查看完整回答
反对 回复 2021-11-05
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

使用 array_unique() 函数,它将从数组中删除重复值。如果两个或多个数组值相同,则保留第一个出现,删除另一个


查看完整回答
反对 回复 2021-11-05
  • 3 回答
  • 0 关注
  • 117 浏览

添加回答

举报

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