php转换多维数组键名大小写,递归转换
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2020-01-11 17:04:45
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
默认函数array_change_key_case只转换一维数组,使用下面函数可以转换多维数组
/** * 数组键转成大小写,递归转换 * @authname [name] 0 * @DateTime 2020-01-11 * @Author mokuyu * * @param [type] $arr [description] * @param boolean $lower [description] * @return [type] */ function array_change_key_case_deep($arr, $lower = true) { $func = $lower ? 'strtolower' : 'strtoupper'; $_newArr = []; if (!is_array($arr) || empty($arr)) { return $_newArr; } foreach ($arr as $k => $v) { $_newArr[(is_numeric($k) ? $k : $func($k))] = is_array($v) ? array_change_key_case_deep($v, $lower) : $v; } return $_newArr; } $arr2 = [ 'osS' => [ 'on' => true, 'domain' => 'www.res.com', 'tesT' => [ 'test2' => 3, ], ], ]; var_dump(array_change_key_case($arr2)); var_dump(array_change_key_case_deep($arr2));