> 백엔드 개발 > PHP 튜토리얼 > php应用中怎样写一个优雅的随机算法

php应用中怎样写一个优雅的随机算法

WBOY
풀어 주다: 2016-06-06 20:30:57
원래의
1077명이 탐색했습니다.

我的应用:随机生成-50到50之间的不包括0的整数,我使用的是mt_rand(-50,50),然后再次判断结果是不是为0,如果为0就重新随机一次,但是这样一点也不优雅,有没有更好的方法?

再进一步,如果要控制生成正负数的比例为4:6,你会怎么做?

回复内容:

我的应用:随机生成-50到50之间的不包括0的整数,我使用的是mt_rand(-50,50),然后再次判断结果是不是为0,如果为0就重新随机一次,但是这样一点也不优雅,有没有更好的方法?

再进一步,如果要控制生成正负数的比例为4:6,你会怎么做?

<code>function my_rand(){
    $num = mt_rand(1, 50); 
    $rand = mt_rand(1, 10);

    return $rand > 4 ? $num : -$num;
}
</code>
로그인 후 복사

1.随机生成一批正数
2.把这批数字的前60%弄成负的,
3.打乱顺序,然后按顺序取就行了

谢邀,echo array_rand(array(mt_rand(-50,-1), mt_rand(1,50)));

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿