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;