根据数组类型处理输入

时间:2012-01-30 22:54:48

标签: php object foreach

我正在尝试将数组加载到对象上。数组可以是单个数组,也可以是数组数组(表示要运行的输入数)。我到目前为止的代码如下。有没有更简单的方法来调用单个方法并确定它是应该作为单个负载还是循环负载处理?

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 个答案:

答案 0 :(得分:1)

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);
    }
}

答案 1 :(得分:0)

public function addInputs($inputs) {
    array_merge((array)$this->inputs, (array)$inputs);
}