php递归多维数组替换键名和键值
多维数组键名替换
在很多时候获取到的数组结果不尽人意,需要自己修改后才能的到一个满足需求的数组,这是后可以通过递归的方式修改键名
代码如下
替换键名的代码,例如:
function changekeys($array, $keyenarray, $keyzhcnarray){ if(!is_array($array)) return $array; $temparray = array(); foreach ($array as $key => $value){ // 处理数组的键,翻译成中文 $key = array_search($key, $keyenarray, true) === false ? $key : $keyzhcnarray[array_search($key, $keyenarray)]; if(is_array($value)){ $value = changekeys($value, $keyenarray, $keyzhcnarray); } $temparray[$key] = $value; } return $temparray;}$info = array( "fruits" => array("apple", "banana", "pear"), "furniture" => array("table", "chair", "bed"));$keyenarray = array("fruits" , "furniture");$keyzhcnarray = array("水果" , "家具");$result = changekeys($info, $keyenarray, $keyzhcnarray);print_r($result);
多维数组键值替换
在很多时候获取到的数组结果不尽人意,需要自己修改后才能的到一个满足需求的数组,这是后可以通过递归的方式修改键值
代码如下
替换键值的代码,例如:
// 递归改变数组的键值function changevalues($array, $valueenarray, $valuezhcnarray){ if(!is_array($array)) return $array; $temparray = array(); foreach ($array as $key=>$value){ if(is_array($value)){ $value = changevalues($value, $valueenarray, $valuezhcnarray); }else{ // 处理数组的值,翻译成中文 $value = array_search($value, $valueenarray, true) === false ? $value : $valuezhcnarray[array_search($value, $valueenarray)]; } $temparray[$key]=$value; } return $temparray;}$info = array( "fruits" => array("apple", "banana", "pear"), "furniture" => array("table", "chair", "bed"));$valueenarray = array("apple" , "banana", "pear", "table", "chair", "bed");$valuezhcnarray = array("苹果" , "香蕉" ,"梨", "桌子", "椅子", "床");$result = changevalues($info, $valueenarray, $valuezhcnarray);print_r($result);
更多相关技术文章,请访问!
