• 技术文章 >后端开发 >PHP问题

    PHP数组学习之改变一维和二维数组的键key

    青灯夜游青灯夜游2021-08-30 11:39:46原创181
    在之前的文章中我们介绍了重置多维数组索引的方法,感兴趣的可以点击链接进行查阅→《PHP数组学习之怎么重置多维数组的索引》。这次我们继续PHP数组的学习和练习,来聊聊修改数组键名的方法,有需要的可以了解一下~

    →相关推荐:PHP数组学习系列大汇总(持续更新~)

    今天本文的主要的内容是:改变数组键名,聊聊使用PHP如何修改一维数组和二维数组的键名key。

    首先我们来看看如何修改一维数组的键名?

    想要修改数组的键名,可以借助array_combine()函数。这里就直接给出实现代码:

    <?php
    header("content-type:text/html;charset=utf-8");
    $arr=array(1 => 1, 2 => "张三", 3 => 20, 4 => "男", 5 => 'PHP编程', 6 => 'PHP中文网');
    $key=array("id","姓名","年龄","性别","课程","网站");
    $array=array_combine($key, $arr);
    var_dump($arr);
    echo "修改了键名的数组:";
    var_dump($array); 
    ?>

    分析代码:

    array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。注:两个数组中元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE。【推荐文章《PHP数组学习之如何以合并方式创建数组》】

    我们定义一个键名数组$key,将其作为array_combine() 函数的第一个参数(新数组的键名);而原数组$arr作为array_combine() 函数的第二个参数(新数组的键值)。

    这样获得的新数组就是使用新键名的数组(键值没有改变),我们看看输出结果:

    1.png

    好了,了解了一维数组修改键名的方法,下面看看二维数组,同样需要使用array_combine() 函数。下面介绍两种方法:

    方法1:利用foreach语句遍历数组

    <?php
    header("content-type:text/html;charset=utf-8");
    $arr=array(
    			array(1 => 1, 2 =>"张三", 3 => 20, 4 => "男", 5 => 'PHP编程', 6 => 'PHP中文网'),
    			array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端编程', 6 => 'PHP中文网'),
    			array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端编程', 6 => 'PHP中文网')
    );
    $key=array("id","姓名","年龄","性别","课程","网站");
    foreach($arr as $k=>$v){
    	$arr[$k] = array_combine($key, $v);
    }
    var_dump($arr);
    ?>

    利用foreach语句遍历一次二维数组$arr,在每次循环中将内层数组赋值给$v;然后使用array_combine($key, $v)语句修改内层数组$v的键名即可。我们看看输出结果:

    2.png

    方法2:利用array_walk()+array_slice()函数获取内层数组

    <?php
    header("content-type:text/html;charset=utf-8");
    $arr=array(
    			array(1 => 1, 2 =>"张三", 3 => 20, 4 => "男", 5 => 'PHP编程', 6 => 'PHP中文网'),
    			array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端编程', 6 => 'PHP中文网'),
    			array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端编程', 6 => 'PHP中文网')
    );
    
    $key=array("id","姓名","年龄","性别","课程","网站");
    
    function foo(&$v, $k, $key) {
    $v = array_combine($key, array_slice($v, 0));
    }
    array_walk($arr, 'foo', $key);
    
    echo "修改了键名的数组:";
    var_dump($arr); 
    ?>

    array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。

    我们看看输出结果:

    3.png

    好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

    最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!

    以上就是PHP数组学习之改变一维和二维数组的键key的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:PHP中die()和sleep()函数知道怎么用吗? 下一篇:利用PHP如何检查空值(4种方法)
    线上培训班

    相关文章推荐

    • PHP数组学习之将一维数组变成包含指定多元素的二维数组• PHP数组学习之怎么去除空白或者重复的元素• PHP数组学习之提取出数字元素拼接为一个新数组• PHP数组学习之怎么重置多维数组的索引

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网