September 25th, 2008 Category: codigo php5
1 Comment »
Supongamos que tenemos un array con los indices separados por underscore “_”, y necesitamos transformar esos indices a camelCase, esto puede surgir por la necesidad que los nombres de nuestro codigo sigan el standar de la gente de Zend, cuando obtenemos un array de la base de datos, esos datos vienen con la normalizacion de la base, que generalmente es CAMEL_CASE, esto es un problema porque cuando queramos leer los datos de esa tabla tenemos que hacer algo como $row['CAMEL_CASE'], y no va con nuestro “Standar de buenas practicas”, si es por este motivo o algun otro podes usar esta funcion que transforma los indicies de CAMEL_CASE a camelCase. Es la forma mas optima que encontre, si alguno puede aportar algo mejor, podemos optimizarla mas, y conseguir mejores resultados.
$value ) {
$key = str_replace( ' ', '', ucwords( preg_replace('/[^A-Z^a-z^0-9]+/', ' ', $originalKey )));
$key[0] = strtolower($key[0]);
$camelCaseArray[ $key ] = $value;
}
return $camelCaseArray;
}
}
?>
y la usamos de la siguiente forma
'Nestor', 'LAST_NAME' => 'Kirchner');
$rowNormalized = Me_Utils_Array::keyArrayToCamelCase( $row );
print_r( $rowNormalized );
// Array ( [firstName] => Nestor [lastName] => Kirchner )
?>


