如何在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()
。 看到这个职位