首页 >后端开发 >PHP问题 >php怎么将键名和键值相互转化

php怎么将键名和键值相互转化

青灯夜游
青灯夜游原创
2022-04-14 12:10:243049浏览

转化方法:1、用“array_flip($arr)”语句;2、用“array_combine($arr,array_keys($arr))”语句;3、用“foreach($arr1 as $k=>$v){$arr2[$v]=$k;}”语句。

php怎么将键名和键值相互转化

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php将键名和键值相互转化

1、使用array_flip()函数

php将键名和键值相互转化,简单来说就是交换数组中的键名和键值。

而这一操作,PHP中有一个内置函数就是这个功能,那就是 array_flip()函数。

array_flip() 函数用来交换数组中的键和值,其语法如下:

array_flip ($array)

$array数组中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键值对将不会反转。

如果同一个值出现了多次,那么最后一个键名将作为它的值,所有其他的都丢失了。

返回值:执行成功时返回交换后的数组,失败时返回 NULL。

示例:

<?php
$arr = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3);
var_dump($arr);
var_dump(array_flip($arr));
?>

php怎么将键名和键值相互转化

2、使用array_combine()和array_keys()函数

  • array_keys()函数可以获得数组中的键名,返回键名数组

  • array_combine()函数通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。    

只需要将array_keys()函数返回的键名数组作为新数组的键值,原数组作为新数组的键名即可。

<?php
$arr = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3);
var_dump($arr);
var_dump(array_combine($arr,array_keys($arr)));
?>

2.png

3、利用foreach循环和一个空数组

<?php
$arr1=array("aaa"=>11,"bbb"=>22,"ccc"=>33);
var_dump($arr1);
$arr2=array();
foreach($arr1 as $k=>$v){
	$arr2[$v]=$k;
}
var_dump($arr2);
?>

3.png

推荐学习:《PHP视频教程

以上是php怎么将键名和键值相互转化的详细内容。更多信息请关注PHP中文网其他相关文章!

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