<input type="text" name="Declarant[Governance][Name]" />
array("Declarant" => array("Governance" => array("Name")))
$a = array("Declarant" => array("Governance" => array("Name" => "Tommy", "LastName" => "Vercetti")));
array(
"Declarant[Governance][Name]" => "Tommy",
"Declarant[Governance][LastName]" => "Vercetti"
);
array("Declarant" => array("Governance" => array("Name" => "Вурдалак")));
array(
"Declarant[Governance][Name]" => "Вурдалак"
);
$name = key($var);
while (is_array($var)) {
$var = reset($var);
$name .="[".key($var)."]";
}
echo "$name: $var";
$source = array("Declarant" => array("Governance" => array("Name" => "Vurdalack")));
$source = array("Declarant" => array("Governance" => array("Name" => "Vurdalack", 'LastName' => "Juhidzoin")));
function buildKey(array $path) {
$result = reset($path);
while ($token = next($path)) {
$result .= '[' . $token . ']';
}
return $result;
}
function flatternRequest(array $source, array $path = array()) {
$vars = array();
foreach ($source as $k => $v) {
$innerPath = $path;
$innerPath[] = $k;
if (is_array($v)) {
$vars += flatternRequest($v, $innerPath);
} else {
$vars[ buildKey($innerPath) ] = $v;
}
}
return $vars;
}
Черт подери, это работаетох
PHP:function buildKey(array $path) { $result = reset($path); while ($token = next($path)) { $result .= '[' . $token . ']'; } return $result; } function flatternRequest(array $source, array $path = array()) { $vars = array(); foreach ($source as $k => $v) { $innerPath = $path; $innerPath[] = $k; if (is_array($v)) { $vars += flatternRequest($v, $innerPath); } else { $vars[ buildKey($innerPath) ] = $v; } } return $vars; }
Не нужна.Вложенность может быть бесконечна. Именно поэтому нужна рекурсия.
Ты, походу, тоже.Ты даже не читаешь, что тебе пишут.