温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中如何将键名key和值的位置进行互换

发布时间:2021-08-25 15:01:58 来源:亿速云 阅读:189 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关PHP中如何将键名key和值的位置进行互换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

“将键名key和值的位置进行互换”,简单来说就是交换数组中的键名和键值。

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

我们通过下面的例子来具体看看

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

输出结果:

PHP中如何将键名key和值的位置进行互换

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

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

<?php
$arr = array("a" => 1, "b" => 1, "c" => 2);
var_dump($arr);
var_dump(array_flip($arr));
?>

输出结果:

PHP中如何将键名key和值的位置进行互换

可以看出:利用array_flip()可以非常快速的交换键名和键值。那么如果不使用array_flip()函数,要怎么交换键名和键值呢?下面给大家介绍一下。

思路:

  • 首先使用array_keys($array)获得数组中的键名,返回一个键名数组;

  • 然后使用array_values($array)获取数组中所有元素的值,返回一个键值数组;

  • 最后使用array_combine($keys,$values)来合并两个数组以创建新数组,第一个参数会作为新数组的键名,第二个参数会作为新数组的键值。(对array_combine()函数不了解,可以阅读文章《PHP数组学习之如何以合并方式创建数组》)

实现代码:

<?php
$arr = array('a', 'b', '1', 2, 3,'c');
var_dump($arr);

//获取全部键名
$keys=array_keys($arr);
//获取全部键值
$values=array_values($arr);
$flip=array_combine($values,$keys);

var_dump($flip);
?>

输出结果:

PHP中如何将键名key和值的位置进行互换

如果有多个相同的键值,处理方式和 array_flip() 函数相似,将最后一个键名作为它的值,所有其他的都丢失了。

<?php
header("content-type:text/html;charset=utf-8");
$arr = array('a', 'b', '1', 2, 3,'1');
var_dump($arr);

//获取全部键名
$keys=array_keys($arr);
//获取全部键值
$values=array_values($arr);
$flip=array_combine($values,$keys);

var_dump($flip);
?>

输出结果:

PHP中如何将键名key和值的位置进行互换

感谢各位的阅读!关于“PHP中如何将键名key和值的位置进行互换”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI