使用 array_search()
方法在数组中查找一个值,若是找到了该值,返回相应的键;不然返回 false
:php
<?php $arr = ['Hello', 'World', 'p' => 'PHP', 'Node.js']; $position = array_search('PHP', $arr); if($position !== false) { echo $position; }
输出 p。注意:最好使用 array_search()
而不是 in_array()
来检查一个数组是否包含某个值,两者速度差异很小,可是 array_search()
能够提供额外信息(相应的键)。数组
使用 array_filter()
方法处理数组,例如查找票房大于两千五百万的电影信息:函数
<?php $movies = [ ['file'=>'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);
输出:.net
Array ( [0] => Array ( [file] => Zootopia [box_office_gross] => 73700000 ) [2] => Array ( [file] => Deadpool [box_office_gross] => 311160000 ) )
<?php echo '<pre>'; $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)