【web 开发基础】如何调换数组中的键和值(53)
【摘要】 前言在后端接口返回的数据中,并不是每次返回的数据都是符合我们前端展示的格式的,所以对数据的处理以及转换就显得尤为重要,特别是很多时候我们需要对数据重新整理,我们需要把数组中的元素值作为新数组的键值来使用。比如,我们现在从接口获取到两个数组,一个数组的值刚好就是另一个数组中的键,而键值刚好和另一个数组的值是一类数据,刚好相反。这个时候我们就需要使用array_flip()调换数组中的键值和元素...
前言
在后端接口返回的数据中,并不是每次返回的数据都是符合我们前端展示的格式的,所以对数据的处理以及转换就显得尤为重要,特别是很多时候我们需要对数据重新整理,我们需要把数组中的元素值作为新数组的键值来使用。比如,我们现在从接口获取到两个数组,一个数组的值刚好就是另一个数组中的键,而键值刚好和另一个数组的值是一类数据,刚好相反。这个时候我们就需要使用array_flip()调换数组中的键值和元素值。接着我们通过具体的例子来了解array_flip()的具体用法。
调换数组中的键和值
array_flip()的语法格式如下:
array_flip(目标数组)
接下来继续看看实例:把数组中的名字和年龄调换过来,然后输出
<?php
$array = array('张三'=>28,'鲁班'=>25,'李四'=>25,'王五'=>18,'李白'=>19,'杜甫'=>20,'白居易'=>21);
print_r(array_flip($array));
?>
执行结果如下:
下面再接着看看合并的例子:
<?php
$array = array('张三'=>28,'鲁班'=>25,'李四'=>25,'王五'=>18,'李白'=>19,'杜甫'=>20,'白居易'=>21);
$array2 = array(28=>'刘备',25=>'关羽',21=>'张飞');
$after_flip = array_flip($array);
print_r($after_flip);
$arr = array_merge($array,$array2);
$arr2 = array_merge($array,array_flip($array2));
print_r($arr);
print_r($arr2);
?>
执行结果如下:
从执行结果可以看出,调换键值和元素值之后再合并是不是更加和谐一点
总结
上面例子中,其中数组$array为一个联合索引数组,通过array_flip ($array)调换联合索引数组的键值和元素值,并且加以返回。但有意思的是,$array是一个拥有重复元素值的数组,且这两个重复元素值的“键名”是不同的。array_flip ()逐个调换每个数组元素的键值和元素值。原来的元素值变为键名以后,就有两个原先为键名、现在调换为元素值的数值与之对应。调换后,array_flip ()等于对原来的元素值(现在的键名)赋值。当array_flip ()再次调换到原来相同的、现在为键名的值时,相当于对同一个键名再次赋值,则头一个调换时的赋值将会被覆盖,显示的是第二次的赋值。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)