Php 我应该如何实现这个映射器方法来检索正确的信息?

Php 我应该如何实现这个映射器方法来检索正确的信息?,php,Php,我有几个表格的形式类似于这个原型: <tr><td><input type="text" name="directorios_url[]" value="" /></td> <td><input type="text" name="directorios_kword[]" value="" /></td> <td><input type="text" name="directorios_link

我有几个表格的形式类似于这个原型:

<tr><td><input type="text" name="directorios_url[]" value="" /></td>
<td><input type="text" name="directorios_kword[]" value="" /></td>
<td><input type="text" name="directorios_link[]" value="" /></td></tr>
现在,我正在映射器中使用一个名为setOptions的函数,它如下所示:

public function setOptions(array $options) {
    $methods = get_class_methods($this);
    foreach ($options as $key => $value) {
        //test
        if(preg_match("/[a-zA-Z]_/", $key)){
            $key = substr($key, 0, strpos($key.'_', '_') );
            $method = 'set' . ucfirst($key);
                if (in_array($method, $methods)) {
                    $this->$method($value);
                }
        }else{
        //
            $method = 'set' . ucfirst($key);
                if (in_array($method, $methods)) {
                $this->$method($value);
            }
        }
    }
    return $this;
}
有没有关于如何以

protected '_directorios' =>
array
  'directorios_url' 
       array( 0 => 'something.com',
              1 => 'something2.com'),
array
  'directorios_kword'
       array( 0 => 'blah',
              1 => 'blah'),
array 
  'directorios_link'
       array( 0 => 'www.test.com/dir',
              1 => 'www.test2.com/dir')
编辑:有关更多信息,此模型的setter和getter共享以下格式:

public function setDirectorios($directorios) {
    $this->_directorios = (array) $directorios;
    return $this;
}

public function getDirectorios() {
    return $this->_directorios;
}

您是否将发布的数据传递给setOptions,如下所示:
$mapper->setOptions($POST)?如果要发布深度嵌套的数据数组,请尝试使用如下表单字段:
。。name=“directorios[url][]”。
。。name=“directorios[kword][]”。
@Robin是的,我正在做类似的事情。我会试试你的建议,好吗now@Robin...protected“\u directorios'=>array'dir\u url'=>array 0=>string'url1'(长度=4)1=>string'url2'(长度=4)'dir\u kword'=>array 0=>string'kword1'(长度=6)1=>string'kword2'(长度=6)'dir_link'=>array 0=>string'link1'(长度=5)1=>string'link2'(长度=5):D成功了!谢谢!
public function setDirectorios($directorios) {
    $this->_directorios = (array) $directorios;
    return $this;
}

public function getDirectorios() {
    return $this->_directorios;
}