Обработка ввода в соответствии с типом массива - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь загрузить массивы на объект. Массивы могут быть либо одним массивом, либо массивом массивов (с указанием количества вводимых входов). Код, который у меня есть, приведен ниже. Есть ли более простой способ вызвать один метод и определить, следует ли его обрабатывать как одну загрузку или зацикленную загрузку?

public function addInput($input) {
    $this->inputs[] .= new Input($input);
}

public function addInputs($matrix_of_inputs) {
    foreach($matrix_of_inputs as $input) {
        $this->inputs[] .= new Input($input);
    }
}

Ответы [ 2 ]

1 голос
/ 31 января 2012
public function addInput($input)
{
    $this->inputs[] = new Input($input); // note that I have removed the dot .=
}

public function addInputs($matrix)
{
    if (!is_array($matrix)) {
        $this->addInput($matrix);
        return;
    }

    foreach($matrix as $input) {
        if (is_array($input)) {
            $this->addInputs($input);  // if it can be multidimensional, might not be needed
            continue;
        }
        $this->addInput($matrix);
    }
}
0 голосов
/ 31 января 2012
public function addInputs($inputs) {
    array_merge((array)$this->inputs, (array)$inputs);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...