PHP数组学习之怎么将键名key和值的位置进行互换
时间:2021-09-06
来源:互联网
标签:
今天PHP爱好者给大家带来在PHP数组学习之怎么将键名key和值的位置进行互换的教程,之前的文章《PHP数组学习之二维数组怎么进行排序(2种方法)》中,我们了解了根据某一字段进行二维数组排序的2种方法,有需要的朋友可以学习了解一下~希望对大家有所帮助。
本文的主题是“将键名key和值的位置进行互换”,简单来说就是交换数组中的键名和键值。
而这一操作,PHP中有一个内置函数就是这个功能,那就是 array_flip($array) 函数。
我们通过下面的例子来具体看看
<?php
$arr = array('a', 'b', '1', 2, 3);
var_dump($arr);
var_dump(array_flip($arr));
?>
输出结果:

说明:$array数组中的值需要能够作为合法的键名(例如 int 或者 string),如果值的类型不对将发出一个警告,并且有问题的键值对将不会反转。
如果同一个键值出现了多次,那么最后一个键名将作为它的值,所有其他的都丢失了。
<?php
$arr = array("a" => 1, "b" => 1, "c" => 2);
var_dump($arr);
var_dump(array_flip($arr));
?>
输出结果:

可以看出:利用array_flip()可以非常快速的交换键名和键值。那么如果不使用array_flip()函数,要怎么交换键名和键值呢?下面给大家介绍一下。
思路:
首先使用
array_keys($array)获得数组中的键名,返回一个键名数组;然后使用ar
ray_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);
?>
输出结果:

如果有多个相同的键值,处理方式和 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爱好者其它相关文章!
-
USB Host接口有什么用?USB Host和USB Device接口的区别 时间:2025-12-16 -
HDMI怎么区分1.4和2.0?HDMI1.4和2.0的区别 时间:2025-12-16 -
com.android.phone已停止运行是什么意思?怎么解决? 时间:2025-12-16 -
4mp摄像头是多少像素?4mp和1080p有什么区别? 时间:2025-12-16 -
电脑出现normal.dotm错误怎么办?解决方法是什么? 时间:2025-12-15 -
normal.dotm在哪个文件夹里 如何删除normal模板 时间:2025-12-15
今日更新
-
哔哩哔哩官网网页纯净观看入口-哔哩哔哩官网创作中心极速直达
阅读:18
-
163邮箱登录入口-网易163邮箱网页版一键登录
阅读:18
-
欧易冷钱包存储比例揭秘 安全资产配置关键数据
阅读:18
-
歪歪漫画免费热榜入口-歪歪漫画爆款热作免费推荐
阅读:18
-
彭祖之梗是什么梗?揭秘古代养生大师的爆笑网络新梗,看完秒懂!
阅读:18
-
战网国际服如何快速找回账号-战网国际服账号找回详细方法
阅读:18
-
欧易语言设置指南:一键切换多语言教程
阅读:18
-
哔咔漫画极速下载入口-哔咔漫画官方正版安装包安全纯净
阅读:18
-
outlook邮箱登录入口官网在哪-outlook邮箱登录入口网页版直达
阅读:18
-
迅雷在线高清观看入口-迅雷在线免费观看完整版
阅读:18










