¿Cómo puedo convertir todos los valores en una matriz a minúsculas en PHP?¿Cómo convertir valores de matriz a minúsculas en PHP?
¿Algo como array_change_key_case
?
¿Cómo puedo convertir todos los valores en una matriz a minúsculas en PHP?¿Cómo convertir valores de matriz a minúsculas en PHP?
¿Algo como array_change_key_case
?
uso array_map()
:
$yourArray = array_map('strtolower', $yourArray);
Usted podría utilizar array_map(), establece el primer parámetro a 'strtolower' (incluyendo las comillas) y el segundo parámetro en $ lower_case_array.
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 usar strtolower()
.
for($i=0; $i < count($array1); $i++) {
$array1[$i] = strtolower($array1[$i]);
}
simplemente para la corrección: también puede utilizar array_walk
:
array_walk($yourArray, function(&$value)
{
$value = strtolower($value);
});
desde PHP docs:
Si devolución de llamada tiene que trabajar con los valores reales de la matriz, especifique el primer parámetro de devolución de llamada como referencia. Luego, cualquier cambio realizado en esos elementos se realizará en la matriz original.
o directamente a través foreach
loop usando references:
foreach($yourArray as &$value)
$value = strtolower($value);
Tenga en cuenta que estos dos métodos de cambio de la matriz "en el lugar", mientras que array_map
crea y devuelve una copia de la matriz, que puede no ser deseable en caso de matrices muy grandes.
array_change_value_case
por continuar
function array_change_value_case($array, $case = CASE_LOWER){
if (! is_array($array)) return false;
foreach ($array as $key => &$value){
if (is_array($value))
call_user_func_array(__function__, array (&$value, $case)) ;
else
$array[$key] = ($case == CASE_UPPER)
? strtoupper($array[$key])
: strtolower($array[$key]);
}
return $array;
}
$arrays = array (1 => 'ONE', 2=> 'TWO', 3 => 'THREE',
'FOUR' => array ('a' => 'Ahmed', 'b' => 'basem',
'c' => 'Continue'),
5=> 'FIVE',
array('AbCdeF'));
$change_case = array_change_value_case($arrays, CASE_UPPER);
echo "<pre>";
print_r($change_case);
Array ( [1] => one [2] => two [3] => three [FOUR] => Array ( [a] => ahmed [b] => basem [c] => continue ) [5] => five [6] => Array ( [0] => abcdef ) )
Si desea minúsculas todos los valores en un anidada matriz, utilice el siguiente código:
function nestedLowercase($value) {
if (is_array($value)) {
return array_map('nestedLowercase', $value);
}
return strtolower($value);
}
Así:
[ 'A', 'B', ['C-1', 'C-2'], 'D']
volvería:
[ 'a', 'b', ['c-1', 'c-2'], 'd']
te amo, te amo, te amo –