¿Existe una forma "mejor" (función incorporada, mejor algoritmo) para normalizar el caso de todas las claves en una matriz de PHP? Bucle sin embargo y la creación de una nueva matriz funcionaNormalizar el caso de las teclas de matriz en PHP
$new = array();
foreach($old as $key=>$value) {
$key = strToLower($key);
if(!array_key_exists($key,$new) {
$new[$key] = $value;
}
else {
throw new Exception('Duplicate Key Encountered');
}
}
pero parece que estos deben ser una forma de hacerlo "en su lugar".
Actualización: Parece que hay un built-in, el nombre no es engañosamente pero de alguna manera extrañado por mí array_change_key_case
. Todavía sería interesante ver enfoques algorítmicos que te permitan manejar mejor lo que sucede cuando presionas las teclas "duplicadas".
Para el enfoque algorítmico me gustaría ir con la versión "pragmática" de soulmerge a continuación. – acrosman
[Esta publicación] (http://blog.jterminal.com/2014/07/change-the-case-of-all-keys-in-an-array-with-array_change_key_case-function-in-php.html) explica lo que necesita – Jasir