3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以在此處使用 array_map 而不是累加器:
$arraySum = array_map(function ($v) {
return reset($v)['value'];
}, $text);
print_r(array_sum($arraySum)); // 120
編輯,作為完整示例:
$values = [
[['value' => 25]],
[['value' => 75]],
[['value' => 10]],
[['value' => 10]],
];
echo array_sum(array_map(function ($v) {
return reset($v)['value'];
}, $values)); // 120

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
幾個(gè)循環(huán)和累加器是實(shí)現(xiàn)此目的的一種方法
$tot = 0;
foreach ($array as $a){
foreach ($a as $b){
$tot += $b['value'];
}
}
echo $tot;
或者,如果您確定內(nèi)部數(shù)組始終只出現(xiàn)一次。
$tot = 0;
foreach ($array as $a){
$tot += $a[0]['value'];
}
echo $tot;
或者使用您剛剛發(fā)布的代碼
$contributionDetails = $node->get('field_contributions')->getValue();
$tot = 0;
foreach ( $contributionDetails as $element ) {
$p = Paragraph::load( $element['target_id'] );
$text[] = $p->field_contribution_percentage->getValue();
$tot += $p->field_contribution_percentage->getValue();
}
echo $tot;

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
因此,您有一個(gè)包含 2 個(gè)具有索引“值”的數(shù)組的數(shù)組,您只需使用嵌套的 foreach 和一個(gè)變量來(lái)循環(huán)每個(gè)數(shù)組$sum 其總和每次迭代時(shí)增加值。
試試這個(gè)代碼:
<?php
$sum = 0;
foreach($array as $value) {
foreach ($value as $v){
$sum += $v['value'];
}
}
echo $sum;
這將輸出 120
- 3 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報(bào)