首页  >  文章  >  后端开发  >  聊聊修改PHP二维数组中键的方法

聊聊修改PHP二维数组中键的方法

PHPz
PHPz原创
2023-04-20 09:10:00724浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn