いくつかの簡単な解決策:
$array = [
[10, 'DOLLAR'],
[20, 'DOLLAR'],
[25, 'EURO'],
[20, 'DOLLAR'],
[25, 'EURO'],
];
$sums = [];
foreach ($array as $item) {
if (empty($sums[$item[1]])) {
$sums[$item[1]] = $item[0];
} else {
$sums[$item[1]] += $item[0];
}
}
echo'<pre>',print_r($sums),'</pre>';
//Array
//(
// [DOLLAR] => 50
// [EURO] => 50
//)
拡張例は:
$array = [
[10, 'DOLLAR', 'XYZ1010'],
[20, 'DOLLAR', 'ABC'],
[25, 'EURO', 'XYZ1010'],
[20, 'DOLLAR', 'XYZ1010'],
[25, 'EURO', 'ABC'],
];
$sums = [];
foreach ($array as $item) {
if (strpos($item[2], 'XYZ') !== false) {
if (empty($sums[$item[1]])) {
$sums[$item[1]] = $item[0];
} else {
$sums[$item[1]] += $item[0];
}
}
}
echo'<pre>',print_r($sums),'</pre>';
//Array
//(
// [DOLLAR] => 30
// [EURO] => 25
//)
$gbp
など、$dol
ような名前を持つ変数の多くを作成するキーで1つのアレイを使用していないいます。
コードを表示してください。 –