¿Cómo puedo convertir todos los valores de una matriz a minúsculas en PHP?
Algo como array_change_key_case
?
uso array_map()
:
$yourArray = array_map('strtolower', $yourArray);
En caso de que necesite una matriz anidada en minúsculas (por Yahya Uddin ):
$yourArray = array_map('nestedLowercase', $yourArray);
function nestedLowercase($value) {
if (is_array($value)) {
return array_map('nestedLowercase', $value);
}
return strtolower($value);
}
mb_strtolower
$yourArray = array_map('mb_strtolower', $yourArray);
Acabo de comprobar y funcionó para cirílicoSolo para completar: también puede usar
array_walk
:De documentos PHP:
O directamente a través del
foreach
bucle usando referencias :Tenga en cuenta que estos dos métodos cambian la matriz "en su lugar", mientras que
array_map
crea y devuelve una copia de la matriz, lo que puede no ser deseable en el caso de matrices muy grandes.fuente
array_walk_recursive()
. Tambiénmb_strtolower()
porque el mundo es multilingüe.Puede usar array_map (), establecer el primer parámetro en 'strtolower' (incluidas las comillas) y el segundo parámetro en $ lower_case_array.
fuente
Si desea poner en minúscula todos los valores en una matriz anidada , use el siguiente código:
Entonces:
volvería:
fuente
array_change_value_case
por continuar
fuente
array_map()
Es el método correcto. Pero, si desea convertir valores de matriz específicos o todos los valores de matriz en minúsculas uno por uno, puede usarstrtolower()
.fuente
Solución AIO / Recursiva / Unicode | UTF-8 | ¡Multibyte compatible!
Ejemplo:
Salida
fuente
No dice si su matriz es multidimensional. Si es así, array_map no funcionará solo. Necesita un método de devolución de llamada. Para matrices multidimensionales, intente array_change_key_case .
fuente
`$ Color = array ('A' => 'Blue', 'B' => 'Green', 'c' => 'Red');
$ strtolower = array_map ('strtolower', $ Color);
$ strtoupper = array_map ('strtoupper', $ Color);
print_r ($ strtolower); print_r ($ strtoupper); `
fuente
También puede usar una combinación de
array_flip()
yarray_change_key_case()
. Ver esta publicaciónfuente
array_flip()
si la matriz contiene valores duplicados.