PHP数组-搜索值大于0的随机键

我有一个由0-100的随机数组成的PHP数组.

我正在尝试找出从该数组中选择大于零的随机键的最干净,最简单的方法.最终,我遍历数组,每个循环从随机键中减去一个

代码

$num_array = array(100,50,60,40,0,30,0,20);

for ($x = 0; $x < 100; $x++) {
    $rnd = RANDOM $num_array KEY WHERE > 0  
    $num_array[$rnd] = $num_array[$rnd] - 10;
}

有关如何处理此问题的任何建议?

编辑:循环结束后,我仍然希望我的数组包含0(原始值,以及减法后的任何新值),并且所有键位置都必须像以前一样完整

解决方法:

一个:简单的套用array_filter它将过滤掉数组中的零

第二:应用array_rand函数

<?PHP

$nums = [70, 100, 40, 30, 0, 45, 10];

$new_nums = array_filter($nums);

$key = array_rand($new_nums , 1);

echo $new_nums [$key];

?>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...