标签:php foreach zend-framework zend-form
我的zend形式有一个foreach循环,在这种情况下$this-> args [1]的计数为5:
foreach ($this->args[1] as $val)
{
$submitImage = new Zend_Form_Element_Image('submit_image');
$checkBox = new Zend_Form_Element_Checkbox('id_checkbox');
$this->addElement( $submitImage ->setImage($val->full_path) );
$this->addElement( $checkBox ->setValue($val->id) );
}
我遇到的问题是$submitImage和$checkBox被覆盖,我只得到每个的一个元素,最后一个.
任何想法如何让他们都出现?
谢谢
我也尝试过:
$i=0;
foreach ($this->args[1] as $val)
{
$submitImage = 'submitImage'.$i;
$checkBox = 'checkBox'.$i;
$submitImage = new Zend_Form_Element_Image('submit_image');
$checkBox = new Zend_Form_Element_Checkbox('id_checkbox');
$this->addElement( $submitImage ->setImage($val->full_path) );
$this->addElement( $checkBox ->setValue($val->id) );
$i++;
}
但它不起作用
解决方法:
你真的很亲密,只需要很小的修复.任何使元素名称唯一的东西.
foreach ($this->args[1] as $val)
{
$submitImage = new Zend_Form_Element_Image('submit_image'. $val->id);
$checkBox = new Zend_Form_Element_Checkbox('id_checkbox' . $val->id);
$this->addElement( $submitImage ->setImage($val->full_path) );
$this->addElement( $checkBox ->setValue($val->id) );
}
或者如果你喜欢
$i=0;
foreach ($this->args[1] as $val)
{
$image = 'submitImage'.$i;
$box = 'checkBox'.$i;
$submitImage = new Zend_Form_Element_Image($image);
$checkBox = new Zend_Form_Element_Checkbox($box);
$this->addElement( $submitImage ->setImage($val->full_path) );
$this->addElement( $checkBox ->setValue($val->id) );
$i++;
}
Liyali拥有它的权利我只是更加冗长:)
[编辑]
在第二个循环中纠正变量碰撞.
标签:php,foreach,zend-framework,zend-form 来源: https://codeday.me/bug/20190826/1730675.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。