5.17 取得数组中的所有索引
PHP提供了函数array_keys()用来获取数组中所有的索引名,该函数语法如下。
array array_keys(array $arr [, mixed $search_value [, bool $strict]])
该函数会将参数数组$arr中所有的索引名返回到一个数组中。参数search_value是可选的,如果指定该参数,则函数array_keys()只返回该元素值对应的索引名,可选参数$strict用来进行全等比较。代码5-28演示了该函数的用法。
代码5-28 获取数组的所有索引名5-28.php
01 <?php 02 $arr1 = array( 03 0=>100, 04 "gold"=>"money" 05 ); // 定义数组$ arr1 06 07 $arr2 = array( 08 'Sunday', 09 'Saturday', 10 'Monday', 11 'Sunday', 12 'Sunday' 13 ); // 定义数组$ arr2 14 15 echo '<pre>'; 16 echo ' 数组arr1 的全部索引是:'; 17 print_r(array_keys($arr1)); 18 19 echo ' 数组arr2 中元素”Sunday “全部索引是:'; 20 echo '<br/>'; 21 print_r(array_keys($arr2,'Sunday')); 22 ?>
【代码解析】代码第21行在第2次调用函数array_keys()时指定了第2个参数为“Sunday”,也就是说,函数array_keys()只找出元素值为“Sunday”的索引,程序5-28.php执行结果如图5-28所示。
图5-28 获取数组的所有索引名