我的应用:随机生成-50到50之间的不包括0的整数,我使用的是mt_rand(-50,50),然后再次判断结果是不是为0,如果为0就重新随机一次,但是这样一点也不优雅,有没有更好的方法?
再进一步,如果要控制生成正负数的比例为4:6,你会怎么做?
走同样的路,发现不同的人生
function my_rand(){ $num = mt_rand(1, 50); $rand = mt_rand(1, 10); return $rand > 4 ? $num : -$num; }
1.随机生成一批正数 2.把这批数字的前60%弄成负的, 3.打乱顺序,然后按顺序取就行了
谢邀,echo array_rand(array(mt_rand(-50,-1), mt_rand(1,50)));
1.随机生成一批正数
2.把这批数字的前60%弄成负的,
3.打乱顺序,然后按顺序取就行了
谢邀,echo array_rand(array(mt_rand(-50,-1), mt_rand(1,50)));