如何在PHP中将数组值转换为小写?

如何将数组中的所有值转换为PHP中的小写?

array_change_key_case

使用array_map()

 $yourArray = array_map('strtolower', $yourArray); 

只是为了完整性:你也可以使用array_walk

 array_walk($yourArray, function(&$value) { $value = strtolower($value); }); 

从PHP文档:

如果callback需要使用数组的实际值,请将callback的第一个参数指定为参考。 然后,对这些元素所做的任何更改都将在原始数组中进行。

或直接通过使用引用的 foreach循环 :

 foreach($yourArray as &$value) $value = strtolower($value); 

请注意,这两个方法将数组“就地”更改,而array_map创build并返回数组的副本,这在数组非常大的情况下可能不合需要。

您可以使用array_map(),将第一个参数设置为“strtolower”(包括引号),将第二个参数设置为$ lower_case_array。

array_change_value_case

继续

  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 ) ) 

array_map()是正确的方法。 但是,如果要将特定数组值或所有数组值逐个转换为小写,则可以使用strtolower()

 for($i=0; $i < count($array1); $i++) { $array1[$i] = strtolower($array1[$i]); } 

如果您希望小写嵌套数组中的所有值,请使用以下代码:

 function nestedLowercase($value) { if (is_array($value)) { return array_map('nestedLowercase', $value); } return strtolower($value); } 

所以:

 [ 'A', 'B', ['C-1', 'C-2'], 'D'] 

会返回:

 [ 'a', 'b', ['c-1', 'c-2'], 'd'] 

您也可以使用array_flip()array_change_key_case() 。 看到这个职位