yxxs123 发表于 2017-4-6 09:50:10

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 取得数组最大值的下标