4.12 查找一个值在数组中的位置
使用 array_search()
方法在数组中查找一个值,如果找到了该值,返回相应的键;否则返回 false
:
'PHP', 'Node.js']; $position = array_search('PHP', $arr); if($position !== false) { echo $position; }
输出 p。注意:最好使用 array_search()
而不是 in_array()
来检查一个数组是否包含某个值,二者速度差别很小,但是 array_search()
可以提供额外信息(相应的键)。
4.13 查找满足某个条件的元素
使用 方法处理数组,例如查找票房大于两千五百万的电影信息:
'Zootopia', 'box_office_gross'=>73700000], ['file'=>'London Has Fallen', 'box_office_gross'=>21710000], ['file'=>'Deadpool', 'box_office_gross'=>311160000], ['file'=>'Whiskey Tango Foxtrot', 'box_office_gross'=>7600000] ]; $flops = array_filter($movies, function($movie) { //使用匿名的回掉函数过滤数组中的单元 return ($movie['box_office_gross'] > 25000000) ? 1 : 0; //需要保留的值返回1,删除的值返回0 }); print_r($flops);
输出:
Array( [0] => Array ( [file] => Zootopia [box_office_gross] => 73700000 ) [2] => Array ( [file] => Deadpool [box_office_gross] => 311160000 ))
4.14 查找数组中最大值或最小值元素
'; $arr = [10, 3, 25, -9, 100, 50]; /*例1 使用max()找出数组中最大值的元素*/ echo max($arr),PHP_EOL; // 输出 100 /*例2 使用min()找出数组中最小值的元素*/ echo min($arr),PHP_EOL; //输出-9 /*例3 使用array_keys()找出数组中最大值元素的索引*/ print_r(array_keys($arr, max($arr), true)); //输出 Array([0] => 4)