ホームページ > バックエンド開発 > PHPチュートリアル > PHPのrand関数に関しては、一定範囲内の繰り返しのない乱数が必要です。

PHPのrand関数に関しては、一定範囲内の繰り返しのない乱数が必要です。

WBOY
リリース: 2016-06-13 13:06:06
オリジナル
1019 人が閲覧しました

PHPのrand関数について、一定範囲内の繰り返しなしの乱数を要求する問題
一定範囲内の繰り返しなしの乱数を要求する問題のコードは次のとおりです。 ?php
$tmp=array();
while(count($tmp)<48){
$tmp[]=mt_rand(1,48);
$tmp=array_unique( $tmp);
}

echo implode('
',$tmp);
?>


PHP rand 関数について、いいえ要件 特定の範囲内で数値を繰り返しランダム化する問題

たとえば、数値を 1 から 48 の範囲でランダムに特定の範囲に変換したいと考えています。
私のコードは次のとおりです。
$tmp=array();
while(count($tmp)<48){
$tmp[]=mt_rand(1,48);
$ tmp=array_unique($tmp);
}
echo implode('
',$tmp);
?>

すべてが正常に実行され、返される結果クラス ID 以下:
7
48
41
9
32
37
20
36
19
39
43
...

1 行に 1 つの数字など。

ここで、出力結果を少し調整したいと思います。
番目のポート 7
ポート 48
ポート 41
ポート 9
ポート 32
ポート 37
ポート 20
ポート 36
ポート 19
ポート 39
ポート 43
...

上記のコードを変更する方法を知っている人はいますか、または実装できる他のコードはありますか?
色々な方法があるとは思いますが、私はあまりにも愚かなので、いくつか教えてください。ありがとう。




-----解決策---------

PHP コード

------解決策------------------

PHP コード $tmp = 配列(); while(カウント($tmp)<48) { $var = mt_rand(1,48); if(!in_array($var,$tmp)) { $tmp[] = $var; $showstr .= "いいえ".$var."ポート
"; } } エコー $showstr;

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート