PHP二维数组是由多个一维数组组成的数组,其中每个一维数组都包含多个元素。在处理这样的数组时,有时候我们需要修改二维数组中的键(key),以满足我们的业务需求。本篇文章将会介绍修改PHP二维数组中键的方法。
一、修改所有子数组的指定键
有时候,我们需要将二维数组中所有子数组的指定键都修改成一个新键名,可以使用array_map函数来实现。array_map函数,可以将自定义的函数作用于数组的每个元素上。
下面是代码示例:
function changeKey($arr, $oldkey, $newkey){ if(!is_array($arr)){ return $arr; } $result = array(); foreach($arr as $key=>$val){ if(is_array($val)){ $result[$key] = changeKey($val, $oldkey, $newkey); } else { $result[$key] = $val; if($key == $oldkey){ $result[$newkey] = $val; unset($result[$oldkey]); } } } return $result; } $oldArray = array( array('id'=>1, 'name'=>'php', 'type'=>'backend'), array('id'=>2, 'name'=>'js', 'type'=>'frontend') ); $newArray = array_map(function($arr){ return changeKey($arr, 'type', 'category'); }, $oldArray); print_r($newArray);
上面的代码,将$oldArray中的所有子数组中的'type'键改为'category'键。输出结果如下:
Array ( [0] => Array ( [id] => 1 [name] => php [category] => backend ) [1] => Array ( [id] => 2 [name] => js [category] => frontend ) )
二、修改指定子数组的指定键
有时候,我们只需要修改二维数组中某个子数组的指定键,可以通过直接修改该子数组来实现。下面是代码示例:
$oldArray = array( array('id'=>1, 'name'=>'php', 'type'=>'backend'), array('id'=>2, 'name'=>'js', 'type'=>'frontend') ); foreach($oldArray as &$arr){ if($arr['id'] == 1){ $arr['type'] = 'server side'; } } print_r($oldArray);
上面的代码,将$oldArray中$id为1的子数组的'type'键改为'server side'。输出结果如下:
Array ( [0] => Array ( [id] => 1 [name] => php [type] => server side ) [1] => Array ( [id] => 2 [name] => js [type] => frontend ) )
三、结语
PHP二维数组是PHP大量使用的数据结构之一,掌握了修改PHP二维数组中键的方法,可以方便地进行数据处理。本篇文章通过实例来介绍了两种修改PHP二维数组中键的方法,希望对大家有所帮助。
以上是聊聊修改PHP二维数组中键的方法的详细内容。更多信息请关注PHP中文网其他相关文章!