【问题标题】:how to check if the key array has the same value or more than one如何检查键数组是否具有相同或多个值
【发布时间】:2019-07-30 02:00:58
【问题描述】:

我有一个数组(变量 $items),其中有相同的 invenid(多个)如何检查是否有多个 invenid 以及如何从每个现有数组中添加一个 total_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;
    }

【问题讨论】:

  • 能否请您编辑您的问题并添加您期望的 then 输出示例数组。
  • 给定的代码有什么作用?你有什么办法解决这个问题?

标签: php mysql arrays foreach


【解决方案1】:

你可以使用 foreach 和传递引用

 foreach($a as $key => &$val){
   ($val['invenid'] > 1) ? ($val['total_price'] = 12.00) : '';
 }

DEMO

【讨论】:

    【解决方案2】:

    尝试使用array_keys()

    例如:

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

    它将返回数组中的所有键

    更多信息您可以找到here

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-10
        • 2014-02-03
        • 2019-07-12
        • 1970-01-01
        • 1970-01-01
        • 2019-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多