调换数组中的键值和元素值可以使用array_flip()函数。
下面通过实例介绍如何使用array_flip()函数调换数组中的键值和元素值,具体方法如下。
【例6.17】
<?php
$prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'四床房'=>
198,'VIP套房'=> 368);
print_r(array_flip ($prices_per_day));
?>
运行结果如图6-19所示。
其中,数组$prices_per_day为一个联合索引数组,通过array_flip ($prices_per_day)调换联合索引数组的键值和元素值,并且加以返回。但有意思的是,$prices_per_day是一个拥有重复元素值的数组,且这两个重复元素值的“键名”是不同的。array_flip ()逐个调换每个数组元素的键值和元素值。原来的元素值变为键名以后,就有两个原先为键名、现在调换为元素值的数值与之对应。调换后,array_flip ()等于对原来的元素值(现在的键名)赋值。当array_flip ()再次调换到原来相同的、现在为键名的值时,相当于对同一个键名再次赋值,则头一个调换时的赋值将会被覆盖,显示的是第二次的赋值。