Esiste un approccio per la ricorsività di matrici, allo stesso modo della funzione PHP array_merge_recursive()
, eccetto che le chiavi integer sono trattate come le chiavi di stringa?Il comportamento array_merge_recursive di PHP su chiavi intere
(E 'importante per il processo che le chiavi rimangono parse-grado come numeri interi.)
Ad esempio:
$a = array(
'a' => array(1)
);
$b = array(
'a' => array(2, 3)
);
var_dump(array_merge_recursive($a, $b));
fonderà i sul tasto e l'output "a"
, come previsto, il seguente:
array(1) {
["a"] => array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
}
Tuttavia, quando si utilizza interi per le chiavi (anche quando come una stringa):
$a = array(
'123' => array(1)
);
$b = array(
'123' => array(2, 3)
);
var_dump(array_merge_recursive($a, $b));
array_merge_recursive()
restituirà:
array(2) {
[0] => array(3) {
[0] => int(1)
}
[1] => array(2) {
[0] => int(2)
[1] => int(3)
}
}
Al posto del tanto desiderato:
array(1) {
["123"] => array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
}
Pensieri?
Mentre questo è corretto sembra troppo artificioso. Perché non un ciclo regolare, invece? – Ezequiel