это мой вывод массива:
array:2 [
0 => array:1 [
"medium " => " 1"
]
1 => array:1 [
" small " => " 2"
]
]
Мое решение
$sumVariant = array();
foreach ($data as $key => $value) {
foreach ($value as $k => $v) {
//dd(trim($v));
$sumVariant += trim($v);
}
}
dd($sumVariant);
Как я могу подсчитать общее количество как для medium
и для small
которые возвращают 3? Благодарю!!
Я запускаю ваш код, когда вы пишете в своем вопросе. И имейте некоторые изменения, как показано ниже. Это дает правильный ответ.
<?php
$data =array(0=>array("medium "=>" 1"),1=>array(" small "=>" 2"));
$sumVariant=0;
foreach ($data as $key => $value) {
foreach ($value as $k => $v) {
//dd(trim($v));
$sumVariant += trim($v);
}
}
echo $sumVariant;?>
$data =array(0=>array("medium "=>" 1"),1=>array(" small "=>" 2"));
foreach ($data as $array_single) {
$sum_value += array_sum($array_single);
}
echo $sum_value;
array_sum() возвращает сумму целого числа в виде строки или int
нелогич- :: -
<?php
$a=array(' 5',15,25,'ajj');
echo array_sum($a);
?>
O/P :: - 45
Использовать array_walk_recurive
$array_total = 0;
$arr = array(array('small'=>2), array('medium'=>1));
array_walk_recursive($arr, function($value, $key){
global $array_total;
$array_total += $value;
});
echo $array_total; // output 3
<?php
$total = 0;
foreach ($array as $inputArray) {
if (array_key_exists ("medium", $array)) $total += $array["medium"] ;
if (array_key_exists ("small", $array)) $total += $array["small"] ;
}