Обработка одной функцией двух разных

167
29 августа 2017, 12:50

В общем есть 2 функции с разным количеством параметров. Они возвращают массив данных. После этот массив обрабатывает один и тот же алгоритм (передать уже готовые данные в алгоритм нельзя).

Как реализовать функцию обработки данных для обеих функций, без дублирования код ? Небольшой пример:

function data1($p1,$p2)
{
    for($i = 0;$i<10;$i++;)
        $array[] = $p1*$p2*$i;
    return $array;
}
function data2($p1)
{
    for($i = 0;$i<10;$i++;)
        $array[] = $p1+$i*2
    return $array;
}
function algorithm($p1,$p2)
{
    for($i = 0;$i<10;$i++;)
        $array[] = data1($i+1,$i+2);
    return $array;
}

И аналогично алгоритм работает для функции data2.

Answer 1
function data($p1, $p2=NULL) {
    for($i = 0; $i < 10; $i++) {
        $array[] = ($p2 == NULL) ? $p1 + $i * 2 : $p1 * $p2 * $i;
    }
    return $array;
}
READ ALSO
Как одним #define запретить вывод в консоль в Qt?

Как одним #define запретить вывод в консоль в Qt?

Существует ли какой-то #define для запрета вывода текста в консоль? Например, такого:

251
Как распарсить XML jquery?

Как распарсить XML jquery?

Всем доброго!

262
Темы в Wordpress CMS

Темы в Wordpress CMS

У меня есть сайт, у русской версии тема одна, а у английской другая

240
MySQL не работает внешний ключ

MySQL не работает внешний ключ

Здравствуйте! Проблема такая: создал 2 таблицы - "Группа" и "Студент"Связал их по полю группы

393