5.19 其他数组处理函数
本节将介绍两个在实际应用中经常会用到的两个PHP内置函数in_array()和key()。in_array()函数可以判断某个值是否存在于数组中。如果在数组中找到该值,函数返回TRUE,否则返回FALSE。key()函数可以获取数组中当前单元的索引值。
5.19.1 判断某个值是否存在于数组
代码5-30演示了函数in_array()的用法。
代码5-30 使用函数in_array()检查数组中是否存在某个元素值5-30.php
01 <?php 02 $planet = array( 03 'Earth', 04 'Venus', 05 'Mars', 06 'Jupiter', 07 'Saturn' 08 ); // 定义数组$ planet 09 10 $temp = 'mars'; // 定义变量$temp 11 12 if(in_array('Mars',$planet)) // 判断Mars 是否是数组的元素 13 { 14 echo 'Mars 存在于数组$planet 中'; 15 echo '<br/>'; 16 echo '<br/>'; 17 } 18 if(in_array($temp,$planet)) // 判断变量$temp 的值是否是数组的元素 19 { 20 echo $temp.' 存在于数组$planet 中'; 21 echo '<br/>'; 22 echo '<br/>'; 23 } 24 else 25 { 26 echo $temp.' 不存在于数组$planet 中'; 27 echo '<br/>'; 28 echo '<br/>'; 29 } 30 ?>
【代码解析】从代码5-30可以看出函数in_array接受两个参数,第1个参数为要找的值;第2个参数是要在其中找值的数组。这段程序的执行结果如图5-30所示。
注意 从该执行结果可以看出,in_array()是区分大小写的。“Mars”和“mars”被认为是两个不同的值。
5.19.2 获取数组中当前单元的索引值
代码5-31演示了函数key()的用法。
代码5-31 使用函数key()获取数组当前元素的索引值5-31.php
01 <?php 02 $planet = array( 03 'Eth'=>'Earth', 04 'Vns'=>'Venus', 05 'Mrs'=>'Mars', 06 'Jpt'=>'Jupiter', 07 'Stn'=>'Saturn' 08 ); // 定义数组$ planet 09 10 end($planet); 11 echo ' 当前元素的索引为:'.key($planet); // 输出数组中当前元素的索引 12 echo '<br/>'; 13 echo '<br/>'; 14 echo ' 当前元素的值为:'.end($planet); 15 ?>
【代码解析】这段程序第10行首先将当前指针指向数组的最后一个单元,然后通过函数key()获取当前元素(即最后一个元素)的索引值。这段代码的执行结果如图5-31所示。
图5-29 使用回调函数处理数组元素
图5-31 使用key()获取数组当前元素的索引值