php foreach 遍历数组问题
PHP中文网
PHP中文网 2017-05-16 13:03:11
0
6
535

如图怎么让order_id 里面数字相同的只循环输出一次

业务是这样的 这个表记录的是一个订单与产品的关联 order_id是订单id
因此表中记录了 2个815说明是 同一个订单 他们拥有同一个订单id

那么问题来了 再展示 订单列表的时候怎么把 order_id相同的合并成一个输出尼

上图是把 order_id 相同的分开输出展示了 怎么合并尼

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답 (6)
小葫芦
$user_orders = 你获取的数据库数据; $order_array = array(); foreach($user_orders as $value){ $order_array[$value['order_id']][] = something;//一些你想放进去的数据 } return $order_array;

根据订单ID输出数组,直接就合并了相同的啊(有什么不对的请指教)

    巴扎黑

    这个和你foreach循环没什么关系,和你渲染页面的逻辑有关系。

    比如:发现前面已经有相同订单号的时候,不再显示订单号就ok了

      小葫芦

      表结构有问题,一般是有一个订单表 再一个订单商品表 你现在的表结构可以先查询group by order_id 然后foreach order_id 再循环查询这个order_id里面的所有商品

        某草草

        这应该是你想要的结果,处理过再遍历。

        $arr = array( array('pro_id'=>1,'order_id'=>1), array('pro_id'=>2,'order_id'=>1), array('pro_id'=>3,'order_id'=>2), array('pro_id'=>4,'order_id'=>3), array('pro_id'=>5,'order_id'=>4), ); $arr = array_column($arr,null,'order_id'); print_r($arr);die; //打印结果如下 Array ( [1] => Array ( [pro_id] => 2 [order_id] => 1 ) [2] => Array ( [pro_id] => 3 [order_id] => 2 ) [3] => Array ( [pro_id] => 4 [order_id] => 3 ) [4] => Array ( [pro_id] => 5 [order_id] => 4 ) )
          左手右手慢动作

          数据库取的时候去重

            phpcn_u1582

            select dinstinct(order_id)

              최신 다운로드
              더>
              웹 효과
              웹사이트 소스 코드
              웹사이트 자료
              프론트엔드 템플릿
              회사 소개 부인 성명 Sitemap
              PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!