我的代码中有两个数组。我要总结。请参阅下面的代码 -
$arr1['invest'] = array('407.16','16.10','518.48','12.90','125.28','120.28');
$arr2['user'] = array('4','4','10','5','10','4');
输出:
Array
(
[invest] => Array
(
[0] => 407.16
[1] => 16.10
[2] => 518.48
[3] => 12.90
[4] => 125.28
[5] => 120.28
)
[user] => Array
(
[0] => 4
[1] => 4
[2] => 10
[3] => 5
[4] => 10
[5] => 4
)
)
以上两个数组invest
包含每个用户的balance
。第二个数组user
包含user_id
我要求和。
在第二个数组中,有多个user id
我希望与invest
数组相加。
示例 -
用户ID 4
在user
数组索引0
,1
和5
中包含3次我想总结哪个invest
索引ID 0
,1
和5
与10
和5
用户ID相同。
我的结果应该是 -
Array
(
[4] => 543.54//Sum (407.16+16.10+120.28)
[10] => 643.76//Sum (518.48+125.28)
[5] => 12.90
)
修改: -
我的代码:
$var1 = array();
foreach($arr2 as $key=>$value){
$var1[$value] = $arr1[$key];
}
print_r($var1); //Its coming last array
由于 茅
答案 0 :(得分:0)
你可以这样做:
$invest = array(407.16, 16.10, 518.48, 12.90, 125.28, 120.28);
$users = array( 4, 4, 10, 5, 10, 4);
$balance = array();
foreach($users as $k => $user) {
$balance[$user] += $invest[$k];
}
现在$balance
将保留每个用户的总余额。
请注意,此代码只是一个示例,面对我没有在内部添加任何类型的检查,例如需要$invest
和$users
的检查相同的长度。
答案 1 :(得分:0)
你错过了一个+:
EditText ed2;
ed2 = (EditText) findViewById(R.id.editTextDate2);
ed2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DialogFragment myDatePickerFragment = new MyDatePickerFragmentTo();
myDatePickerFragment.show(getSupportFragmentManager(),"datePicker");
}
});
答案 2 :(得分:0)
试试这个:
$var1 = array();
foreach($arr2['user'] as $key=>$value){
$var1[$value][] = $arr1['invest'][$key];
}
$res=array();
foreach ($var1 as $key=>$sum){
$res[$key] = array_sum($sum);
}
print_r($res);
输出:
Array
(
[4] => 543.54
[10] => 643.76
[5] => 12.9
)
答案 3 :(得分:0)
$array1 = array('407.16','16.10','518.48','12.90','125.28','120.28');
$array2 = array('4','4','10','5','10','4');
$array = array();
for($i = 0; $i < sizeof($array2); $i++) {
$array[$array2[$i]] += $array1[$i];
}
echo $array[4];
echo $array[5];
echo $array[10];