Помогите разобраться с функцией. Суть ее такова : функция, с одним параметром - массив позиций в корзине. Функция должна посчитать и вернуть сколько всего в корзине товаров (в одной позиции корзины может быть несколько товаров - поле quantity). PHP: <?php $basket = [ [ 'position' => 'книга по пхп', 'quantity' => 1, ], [ 'position' => 'мышь', 'quantity' => 12, ], ]; $total = 0; function countBasket($basket) { foreach ($basket as $value) { $total += $value['quantity']; echo $total; } }
PHP: <?php $basket = [ [ 'position' => 'книга по пхп', 'quantity' => 1, ], [ 'position' => 'мышь', 'quantity' => 12, ], ]; $summ = array_sum( array_column( $basket, 'quantity' ) ); print_r( $summ );
PHP: function quantity(array $basket): int { return array_reduce($basket, fn($c, $i) => $c + $i['quantity']); }
Спвсибо! --- Добавлено --- Код (Text): $basket = [ [ 'position' => 'книга', 'quantity' => 1, ], [ 'position' => 'мышь', 'quantity' => 12, ], ]; function countBasket($basket){ $total = 0; foreach ($basket as &$value) { $total += $value['quantity']; } return $total; } echo countBasket($basket);
Artur_hopf не подскажите где ошибка? Внутри этой функции Код (Text): function task17($n) { $sum = 0; if (($n % 3) == 0) { echo $n . "<br>"; } elseif { (($n % 5) == 0) $sum += $n; } else { (($n / 5) == 0 && ($n / 3) == 0) --$sum; } return $sum; } нужно сделать следующее: 1. Заведите переменную: $sum = 0; - сумма чисел делящихся на 5 2. В цикле от 0 до $n (включая) сделайте следующее (должно выполнится только одно из условий): - если число делится без остатка на 3 – выведите это число, с помощью оператора echo (каждое число на отдельной строке) - если число делится без остатка на 5 – прибавьте это число к переменной $sum - если число делится и на 5 и на 3 – то вычтите из $sum единицу Функция должна вернуть сумму в качестве результата своей работы.
PHP: <?php function task17($n) { //1. Заведите переменную: $sum = 0; $sum = 0; //2. В цикле от 0 до $n (включая) for ($i = 0; $i <= $n; $i++) { // сделайте следующее (должно выполнится только одно из условий): //- если число делится без остатка на 3 – выведите это число, с помощью оператора echo (каждое число на отдельной строке) if (($i % 3) == 0) { echo $i . "<br>"; } //- если число делится без остатка на 5 – прибавьте это число к переменной $sum if (($i % 5) == 0) { $sum += $i; } //- если число делится и на 5 и на 3 – то вычтите из $sum единицу if ((($i % 3) == 0) && (($i % 5) == 0) ) { $sum--; } } //Функция должна вернуть сумму в качестве результата своей работы. return $sum; } echo task17(100);