4.16 检查数组索引是否存在
PHP提供函数array_key_exists()检查给定的索引是否存在于数组中,该函数语法如下所示。
bool array_key_exists(mixed$key,array$search)
该函数查找由参数$key指定的索引,是否存在于由参数$search指定的数组中,如果存在,该函数返回TRUE,否则或者出错时,该函数返回FALSE。参数$key可以是任何能作为数组索引的值。代码4-27演示了该函数的用法,如下所示。
代码4-27 使用函数array_key_exists()检查数组中是否存在某索引4-27.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 $city=array(
11 'Rome',
12 'Athens',
13 'Shanghai'
14 );//定义数组$city
15
16 foreach($city as$c)//遍历数组$city
17 {
18 if(array_key_exists($c,$olympic))//判断$city的值是否是数组$olympic的索引
19 {
20 echo$c.'是数组olympic的索引';
21 echo'<br/>';
22 echo'<br/>';
23 }
24 else
25 {
26 echo$c.'不是数组olympic的索引';
27 echo'<br/>';
28 echo'<br/>';
29 }
30 }
31 ?>
【代码解析】第2~14行定义了两个数组,读者可以看出,其中数组$city中的某些内容与数组$olympic的索引有些重复。本例的目的就是要判断数组$city中的元素是否在数组$olympic中。第16行通过一个循环来遍历数组$city中的每个元素,第18行再用函数array_key_exists()检查当前的元素是否是数组$olympic的索引。4-27.php的执行结果如图4-27所示。