日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和

發布時間:2023/12/10 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需要處理的數組

Array

(

[0] => Array

(

[uid] => 1

[price] => 85.00

[earnings] => 40.00

)

[1] => Array

(

[uid] => 8

[price] => 56.00

[earnings] => 31.00

)

[2] => Array

(

[uid] => 15

[price] => 56.00

[earnings] => 31.00

)

[3] => Array

(

[uid] => 15

[price] => 56.00

[earnings] => 31.00

)

[4] => Array

(

[uid] => 21

[price] => 180.00

[earnings] => 85.00

)

[5] => Array

(

[uid] => 21

[price] => 60.00

[earnings] => 35.00

)

[6] => Array

(

[uid] => 231

[price] => 60.00

[earnings] => 35.00

)

)

公共方法

/**************** @function二維數組中子數組的某一鍵相等,其余鍵值求和* @Param:* $array :傳入參數* $mainKey :指定鍵* $otherKey :需要求和的鍵,一維數組* $num :需要求和的鍵的數量* @Return: $tempArr返回結果數組***************/functionarray2_key_sum($array,$mainKey,$otherKey,$num){

$item=array();

foreach($arrayas$k=>$v){

if(!isset($item[$v[$mainKey]])){

$item[$v[$mainKey]]=$v;

}else{

for($i =0;$i

$item[$v[$mainKey]][$otherKey[$i]]+=$v[$otherKey[$i]];

}}

}

return$item;

}

調用公共方法

$orderTotal =array2_key_sum($orderTotal,'uid',array('price','earnings'),2);

處理后的數組

Array

(

[1] => Array

(

[uid] => 1

[price] => 85.00

[earnings] => 40.00

)

[8] => Array

(

[uid] => 8

[price] => 56.00

[earnings] => 31.00

)

[15] => Array

(

[uid] => 15

[price] => 168

[earnings] => 62

)

[21] => Array

(

[uid] => 21

[price] => 300

[earnings] => 120

)

[231] => Array

(

[uid] => 231

[price] => 60.00

[earnings] => 35.00

)

)

備注:

1、 如果需要處理的數組有空值,則用

$orderWeek =array_filter($orderWeek);

2、 如果想要給所得數組的鍵從0開始

$orderWeek =array_values($orderWeek);

總結

以上是生活随笔為你收集整理的php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。