私の配列は次のようなものです:
array(
(int) 0 => array(
'projet_id' => '1',
'activite_id' => '1',
'domaine_id' => null,
'aretirer' => (float) 4
),
(int) 1 => array(
'projet_id' => '1',
'activite_id' => '3',
'domaine_id' => null,
'aretirer' => (float) 1
),
(int) 2 => array(
'projet_id' => '1',
'activite_id' => '1',
'domaine_id' => null,
'aretirer' => (float) 2
),
(int) 3 => array(
'projet_id' => '1',
'activite_id' => '3',
'domaine_id' => null,
'aretirer' => (float) 2
)
)
projet_id、activite_id、および domaine_id が同じである aretirer キーを合計したい
foreach で試してみましたが、このような良い結果が得られませんでした
array(
(int) 0 => array(
'projet_id' => '1',
'activite_id' => '1',
'domaine_id' => null,
'aretirer' => (float) 6
),
(int) 1 => array(
'projet_id' => '1',
'activite_id' => '3',
'domaine_id' => null,
'aretirer' => (float) 3
)
)
それが私がやろうとしたことです
public function array_sum($array){
$arrayfusion=array();
$i=0;
foreach($array as $item):
$arrayfusion[$i]['projet_id']=$item['projet_id'];
$arrayfusion[$i]['activite_id']=$item['activite_id'];
$arrayfusion[$i]['domaine_id']=$item['domaine_id'];
$arrayfusion[$i]['aretirer']=$item['aretirer'];
foreach($array as $itemnext):
if($itemnext['projet_id']==$item['projet_id'] && $itemnext['activite_id']==$item['activite_id'] && $itemnext['domaine_id']==$item['domaine_id']):
$arrayfusion[$i]['aretirer']+=$itemnext['aretirer'];
endif;
endforeach;
$i++;
endforeach;
return $arrayfusion;
}
ご協力いただきありがとうございます