¿Cómo puedo unir dos matrices (una con cadenas => pares de valores y otra con int => pares de valores) manteniendo las cadenas/claves int? Ninguno de ellos se superpondrá (porque uno solo tiene cadenas y el otro solo números enteros).PHP: fusiona dos matrices mientras mantienes las teclas en lugar de reindexar?
Aquí está mi código actual (que no funciona, porque array_merge es re-indexación de la matriz con claves enteras):
// get all id vars by combining the static and dynamic
$staticIdentifications = array(
Users::userID => "USERID",
Users::username => "USERNAME"
);
// get the dynamic vars, formatted: varID => varName
$companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']);
// merge the static and dynamic vars (*** BUT KEEP THE INT INDICES ***)
$idVars = array_merge($staticIdentifications, $companyVarIdentifications);
Eso es raro: de acuerdo a la página PHP doc, array_merge * * no debe hacer eso. ¿Son las claves de cadena en realidad cadenas de representaciones de números enteros? – owenmarshall
array_merge está reindexando mi segunda matriz. es decir. está cambiando la matriz de 'array (123 =>" VALUE123 ")' a 'array (0 =>" VALUE123 ")' – Garrett
hmm, eso es interesante. Supongo que la documentación de PHP podría ser un poco confusa en ese punto. Dice lo que sucederá si * todas * las matrices tienen claves numéricas, pero no dice específicamente lo que sucederá si no lo hacen. –