• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-04) 43次浏览 已收录 0个评论

在之前的文章中我们介绍了重置多维数组索引的方法,感兴趣的可以点击链接进行查阅→《PHP数组学习之怎么重置多维数组

来源gaodai.ma#com搞#代!码网

的索引》。这次我们继续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 => '<a href="http://www.gaodaima.com">搞代码</a>');
$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() 函数的第二个参数(新数组的键值)。

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

好了,了解了一维数组修改键名的方法,下面看看二维数组,同样需要使用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 => '<a href="http://www.gaodaima.com">搞代码</a>'),
			array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端编程', 6 => '<a href="http://www.gaodaima.com">搞代码</a>'),
			array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端编程', 6 => '<a href="http://www.gaodaima.com">搞代码</a>')
);
$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:利用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 => '<a href="http://www.gaodaima.com">搞代码</a>'),
			array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端编程', 6 => '<a href="http://www.gaodaima.com">搞代码</a>'),
			array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端编程', 6 => '<a href="http://www.gaodaima.com">搞代码</a>')
);

$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); 
?>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP数组学习之改变一维和二维数组的键key

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址