tech_php 发表于 2013-2-7 01:48:59

PHP 取得数组最大值的下标

   取得数组中最大的值:
 
/*** *取得数组中最大值的下标 */$array=array('a'=>'A','c'=>'B','b'=>'C','d'=>'D','e'=>'D');foreach($array as $key=>$value){if($value == max($array)){echo $key;}}echo '<br>'; 
    看上面的代码是不是很多,不好用呀?不急,简单马上就到。
echo array_search(max($array),$array);//array_search(value,array); 在规定的数组中搜索指定值的下 标 
    怎么样?够简洁吧!
 
    怎么取得数组中第二大值呢?
 
 
/** *取得数组中次大值的下标 */arsort($array);//按值排序,并保留关联数组下标//删除数组中的第一个元素。删除后所有的数值键名将修改为从零开始重新计数,所有的字符串键名保持不变。array_shift($array);print('<pre>');print_r($array);echo array_search(max($array),$array);echo '<br>'; 
    但是这个也有缺点!如果下标为数字,就over了。他得不到原来下标。
 
    哎.... 烦恼!!!查手册呗。
 
 
echo array_search(next($array_num),$array_num); 
    就一句搞定了;不分数字还是字符,通通死啦死啦的。。
 
    next()  将数组内部指针向前移动一位
 
 
页: [1]
查看完整版本: PHP 取得数组最大值的下标