文章教程

7.11调换数组中的键值和元素值

9/17/2020 9:40:31 PM 人评论 次浏览

7.11 调换数组中的键值和元素值

使用array_flip()函数调换数组中的键值和元素值。

下面的例子介绍array_flip()函数调换数组中的键值和元素值,具体步骤如下。

【例7.18】(实例文件:ch07\7.18.php)

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/
DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><h2>用array_flip函数调
换数组内键值和元素值。</h2></HEAD>
  <BODY>
  <?php
    $prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'四床房'=> 198,'VIP套房'=> 368);	
    print_r(array_flip ($prices_per_day));
  ?>
  </BODY>
  </HTML>

运行结果如图7-19所示。

image

图7-19 程序运行结果

【案例分析】

数组$prices_per_day为一个联合索引数组,通过array_flip ($prices_per_day)调换联合索引数组的键值和元素值,并且加以返回。但是有意思的是,$prices_per_day是一个拥有重复元素值的数组,且这两个重复元素值的“键名”是不同的。array_flip ()是逐个调换每个数组元素的键值和元素值。而如果原来的元素值变为键名,就有两个原先为键名的,现在调换为元素值的数值与之对应。调换后,array_flip ()等于对原来的元素值,即现在的键名,进行赋值。当array_flip ()再次调换到原来相同的,现在为键名的值时,相当于对同一个键名再次赋值,则头一个调换时的赋值将会被覆盖,显示的是第二次的赋值。

教程类别