所以,我一直在嘗試為“骰子生成器”撰寫代碼,我希望它生成亂數(從 1 到 6 次)斧頭數。x 次數由用戶通過終端作為引數給出,使用“$argc argv”函式,但這并不重要。
我想知道的是:如何生成隨機值 x 次?
例如:
用戶輸入:4
輸出:5 3 6 8
用戶輸入:3
輸出:5 1 2
這就是我想要寫的。我使用了array_rand函式,以陣列為引數,以我想要的次數作為第二個引數,但它不起作用!我沒有得到什么?
<?php
if ($argc < 2) {
print "You have to write at least one parameter" .PHP_EOL;
exit(1);
}
//This is the variable that corresponds to the number of times the user will give on the Terminal as a parameter.
//$randoms = $argv[1];
$num = 3;
$diceNumbers = [1, 2, 3, 4, 5, 6];
$keys = array_rand($diceNumbers, $num);
print $diceNumbers[$keys[0]]." ".$diceNumbers[$keys[1]] .PHP_EOL;
?>
uj5u.com熱心網友回復:
鑒于您的用例是用于“擲骰子”,我想知道您是否最好使用加密安全的亂數生成函式random_int()而不是array_rand(),而后者不是。
然后,您可以對輸出使用for回圈,因為您事先知道希望回圈運行多少次。
$num = 3;
for($i = 0; $i < $num; $i ){
print random_int(1,6) . PHP_EOL;
}
uj5u.com熱心網友回復:
array_rand(arry, n) 函式回傳一個長度為 n 的陣列,由 arry 中的元素組成。看起來您做的一切都正確,但是當您列印它時,您只需要前 2 個亂數。如果要列印所有數字,則需要 for/foreach 回圈。
foreach($keys as $key) {
print $key . " ";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/354609.html
上一篇:如何顯示已從我的控制器添加的DB的最新/最后產品產品
下一篇:如何在父類方法中克隆子類實體
