如何取得数组中前3个最大值的键值最好是php语言,其他也可。

如何取得数组中前3个最大值的键值最好是php语言,其他也可。,第1张

#先倒叙,然后,取第前3个数据,键即可

$array = ['a' => 2, 'b' => 1, 'c' => 3, 'd' => 5, 'e' => 11];

arsort($array);

print_r(array_keys(array_slice($array, 0, 3)));

方法一:用循环

function getNext(&$array, $curr_key)

{

$next = 0;

reset($array);

do

{

$tmp_key = key($array);

$res = next($array);

} while ( ($tmp_key != $curr_key) && $res );

if( $res )

{

$next = key($array);

}

return $next;

}

function getPrev(&$array, $curr_key)

{

end($array);

$prev = key($array);

do

{

$tmp_key = key($array);

$res = prev($array);

} while ( ($tmp_key != $curr_key) && $res );

if( $res )

{

$prev = key($array);

}

return $prev;

}

方法二:用Iterator,不过要先得到position

// 默认查找键为key元素的后一个元素

function get_element($key, $arr, $who='next')

{

//查找键为$key元素的位置

$offset = array_search($key, array_keys($arr));

if(FALSE == $offset || NULL == $offset) { return ;}

//查找哪个元素,前一个或后一个?

if ('prev' == $who) {

$arr = array_reverse($arr);

} else if ('next' == $who) {

} else {

throw new Exception("错误的参数");

}

对许多方法 都可以在后盾里面找到 而且很详细 很容易理解

以上就是关于如何取得数组中前3个最大值的键值最好是php语言,其他也可。全部的内容,包括:如何取得数组中前3个最大值的键值最好是php语言,其他也可。、php数组,有什么办法获取下一个元素的键值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10130872.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存