为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 PHP 中的数组中获取最小值的随机索引

如何从 PHP 中的数组中获取最小值的随机索引

PHP
森栏 2022-01-02 19:57:27
我有一个这样的数组:$a[0] = 2;$a[1] = 7;$a[2] = 5;$a[3] = 2;$a[4] = 2;$a[5] = 3;我想获得此数组中仅最小值的随机索引。在上面的数组中,函数应该返回 0 或 3 或 4,因为2是该数组中唯一的最小值。
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

<?php



$a = [];

$a[0] = 2;

$a[1] = 7;

$a[2] = 5;

$a[3] = 2;

$a[4] = 2;

$a[5] = 3;



$min_val = min($a);


$min_indexes = [];

foreach($a as $i => $val){

    if($val == $min_val) $min_indexes[] = $i;

}


print_r($min_indexes);

echo $min_indexes[rand(0,count($min_indexes)-1)];

演示: https : //3v4l.org/PXcq4


首先,从数组中获取最小值。现在,收集具有此最小值的所有索引。现在,使用rand()从过滤集合的索引生成随机数。


查看完整回答
反对 回复 2022-01-02
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您可以array_keys使用array_fliparray_rand,min函数

echo array_rand(array_flip(array_keys ($a, min($a))));

现场示例:- https://3v4l.org/b4La1


查看完整回答
反对 回复 2022-01-02
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信