Генераторы в PHP - как это реализовать?

225
25 мая 2018, 17:00

1 Создать анонимную функцию и поместить её в переменную. Функция должна принимать массив и возвращать среднее значение всех элементов.

2 Создать функцию-генератор, принимающую двумерный массив и функцию. Эта функция на каждой итерации должна возвращать среднее значение текущего массива.

3 Создать двумерный массив из чисел.

4 С помощью foreach вывести все средние значения элементов двумерного массива.

p.s. у меня есть только представление как реализовать 3 и 4 п, но это, видимо, не совсем верно, благодарю за помощь и критику)

$array = array(array(11,12,13, ..
$m = 0; 
$c = 0; 
foreach ($array as $e) { 
    $c += count($e); 
    $m += array_sum($e); 
} 
$m /= $c; 
echo "result: $m\n";
Answer 1

1)

$ANONYMOUS = function ($ARRAY) {
    return array_sum($ARRAY)/count($ARRAY);
}
$INPUT = array(1, 2, 3, 4, 5);
var_dump($ANONYMOUS($INPUT));

2)

function myGenerator($ARRAY, $FUNC) {
    foreach($ARRAY as $value) {
        yield $FUNC($value);
    }
}
$MAS = array(
    array(1, 2, 3),
    array(4, 5, 6)
    );
foreach(myGenerator($MAS, function($ARRAY) { return array_sum($ARRAY)/count($ARRAY); }) as $value) {
 var_dump($value);
}

3)

$ARRAY = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
    );

4)

$ARRAY = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
    );
foreach ($ARRAY as $value) {
    var_dump(array_sum($value)/count($value));
}
READ ALSO
Пустые места в категории товара woocommerce [требует правки]

Пустые места в категории товара woocommerce [требует правки]

Помогите, как исправить, появляются пустые места в категории товаровПриложу скриншоты

204
Заменить текст в виджете корзины

Заменить текст в виджете корзины

Как вывести свой текст в виджете корзине в шапке (например, "Корзина пуста"), вместо "0 товаров в корзине"?

234
Magento edit form

Magento edit form

Всем приветСтолкнулся с проблемой в magento2

186
Как сделать php цикл в БД c добавлением значений из Excel?

Как сделать php цикл в БД c добавлением значений из Excel?

подскажите как зациклить такую операцию с добавлением значений в базу данных? Есть файл Excel собирающий значения с других файловОн содержит...

228