Php 添加许多名为[]的select元素

Php 添加许多名为[]的select元素,php,zend-form,zend-form-element,Php,Zend Form,Zend Form Element,我希望能够添加到Zend_Form许多Zend_Form_Element_Select 我在我的表单中有一些循环 $element = $this->createElement('Select', 'element[]'); $this->addElement($element); 但它只创建一个select元素(Zend\u Form忽略元素名称中的[]) 我该怎么做?您是否尝试过: $foo = new Zend_Form_SubForm(); $foo->setElem

我希望能够添加到
Zend_Form
许多
Zend_Form_Element_Select

我在
我的表单中有一些循环

$element = $this->createElement('Select', 'element[]');
$this->addElement($element);
但它只创建一个select元素(
Zend\u Form
忽略元素名称中的
[]

我该怎么做?

您是否尝试过:

$foo = new Zend_Form_SubForm();
$foo->setElementsBelongTo('foo')
    ->setElements(array(
        'bar' => 'text',
        'baz' => 'text'
    ));
echo $foo;
这会产生类似以下内容的HTML:

<input type="text" name="foo[bar]" id="foo.bar" value="" />
<input type="text" name="foo[baz]" id="foo.baz" value="" />

从:

Zend_Form::setIsArray($flag):通过将标志设置为TRUE,可以指示整个表单应被视为数组。默认情况下,除非调用了setElementsBelongTo(),否则表单的名称将用作数组的名称。如果表单没有指定名称,或者未设置setElementsBelongTo(),则将忽略此标志(因为元素可能不属于任何数组名称)

您可以使用isArray()访问器确定表单是否被视为数组

Zend_Form::setElementsBelongTo($array)使用此方法,可以指定表单的所有元素所属的数组的名称。您可以使用getElementsBelongTo()访问器确定名称