将PHP数组打印为字符串,用于phalcon PHP的form->isValid()方法
我对phalcon php和多维表单有点小问题。 我在phalcon表单中添加如下元素:将PHP数组打印为字符串,用于phalcon PHP的form->isValid()方法,php,arrays,phalcon,Php,Arrays,Phalcon,我对phalcon php和多维表单有点小问题。 我在phalcon表单中添加如下元素: $display = new Text('language[en-US][display]'); $display->setLabel($t->_('Display')); $display->addValidator(new PresenceOf(array( 'message' => 'The display field is required' )));
$display = new Text('language[en-US][display]');
$display->setLabel($t->_('Display'));
$display->addValidator(new PresenceOf(array(
'message' => 'The display field is required'
)));
$this->add($display);
array(
'language[en-US][display]' => 'some value'
)
在我看来,这将导致:
<input type="text" name="language[en-US][display]" value="some value">
phalcon php phalcon\Forms\Form方法isValid在传递$\u POST数据时无法将其分配给正确的表单元素,因此我的问题是,是否有一种简单的方法将该数组转换为如下数组:
$display = new Text('language[en-US][display]');
$display->setLabel($t->_('Display'));
$display->addValidator(new PresenceOf(array(
'message' => 'The display field is required'
)));
$this->add($display);
array(
'language[en-US][display]' => 'some value'
)
仅仅用foreach迭代就足够了吗
$array = array(
'language' => array(
'en-US' => array(
'display' => 'some value'
)
)
);
$newkey = key($array);
foreach($array[$newkey] as $key=>$val) {
$newkey .= "[".$key."]";
foreach ($val as $subkey=>$subval) {
$newarray[$newkey. "[".$subkey."]"] = $subval;
}
}
var_dump($newarray);