Impression de la matrice PHP en tant que chaîne, pour la méthode de la forme de Phalon PHP -> ISVALID ()
Question
J'ai un petit problème avec Phalon PHP et formes multidimensionnelles. J'ajoute des éléments à une forme phalcon comme celle-ci:
$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);
Et dans la vue, cela se traduit par:
<input type="text" name="language[en-US][display]" value="some value">
Qui est totalement fin et ma sortie attendue, mais cela semble être dû au fait que PHP convertit automatiquement cette syntaxe (langage [en-US] [Affichage]) à ce tableau:
array(
'language' => array(
'en-US' => array(
'display' => 'some value'
)
)
)
La méthode Phalcon PHP Phalcon \ Forms \ formulaires ISVALID () ne peut pas l'affecter à l'élément de forme correct, lors de la transmission des données $ _Post, ma question est donc un moyen facile de convertir ce tableau à une matrice commeCeci:
array(
'language[en-US][display]' => 'some value'
)
La solution
Juste itération avec pourcheach suffit?
$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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow