PHP – Formatear mayúsculas y minúsculas en los elementos de un array
Si nos surge la necesidad de tener que formatear textos en cuanto a mayúsculas o minúsculas utilizando PHP, podremos utilizar las funciones existentes strtolower y strtoupper.
Estas funciones transforman una cadena de letras a mayúculas o minúsculas. Esto está muy bien, pero a veces estas cadenas pueden estar en un array, por lo que para transformarlas necesitaríamos recorrer los valores en un bucle y realizar la transformación.
A continuación vamos a mostrar una solución a esta situación, que es utilizar otra función de PHP llamada array_map().
Convertir a minúscula
En PHP disponemos de la función strtolower para convertir las letras de una cadena a minúsculas.
echo strtolower("eXAMpLe");// example
Si necesitamos convertir los valores de un array a minúscula, podemos utilizar array_map, como en este ejemplo:
$languages = array('es-ES', 'fr-FR');
$languages_lower = array_map('strtolower', $languages);
echo implode(", ", $languages_lower); // es-es, fr-fr
Convertir a mayúscula
En PHP disponemos de la función strtoupper para convertir las letras de una cadena a mayúsculas.
echo strtoupper("eXAMpLe");// EXAMPLE
Si necesitamos convertir los valores de un array a mayúscula, podemos utilizar array_map:
$languages = array('es-ES', 'fr-FR');
$languages_upper = array_map('strtoupper', $languages);
echo implode(", ", $languages_upper); // ES-ES, FR-FR
Capitalizar
Si lo que buscamos es poner en mayúscula sólo la primera letra de una cadena, utilizaremos la función ucfirst. Ojo! sólo la primera letra, no la primera letra de cada palabra.
echo strtoupper("example");// Example
Si necesitamos poner en mayúscula sólo la primera letra de valores de un array, podemos utilizar también array_map:
$names = array('john', 'mary jane');
$names_ucfirst = array_map('ucfirst', $names);
echo implode(", ", $names_ucfirst); // John, Mary jane