4.13 交换数组索引和元素
PHP中的数组可以通过函数实现索引和元素的交换,这对程序实现某些操作带来极大的便利,这个函数就是array_flip(),该函数的语法如下所示。
array array_flip(array$arr)
参数$arr是一个要做索引和元素对换的数组,函数会将数组$arr索引和元素对换后返回。需要注意的是,$arr中的元素必须是能做数组索引的类型,比如string类型或integer类型。如果值的类型不对,PHP会发出一个警告,并且有问题的键/值对将不会对换。如果同一个元素出现了多次,则最后一个索引名将作为它的元素,所有其他的将被丢失。函数array_flip()执行失败,将会返回FALSE。代码4-24演示了该函数的用法。
代码4-24 使用函数array_flip()将数组索引和元素对换4-24.php
01 <?php
02 $olympic=array(
03 'Barcelona'=>1992,
04 'Atlanta'=>1996,
05 'Sydney'=>2000,
06 'Athens'=>2004,
07 'Beijing'=>2008
08 );//定义数组$olympic
09
10 echo'原数组:';
11 echo'<pre>';
12 print_r($olympic);
13 echo'</pre>';
14
15 $nol=array_flip($olympic);//将数组索引和元素对换
16 echo'<br/>';
17
18 echo'数组元素和索引对调之后:';
19 echo'<pre>';
20 print_r($nol);
21 ?>
【代码解析】执行4-24.php将看到如图4-24的效果。通过结果可以很明显地看到,数组中元素和索引互换后的结果。