我试图获得一个自定义函数php来返回一个随机数,1并且20不重复,即不止一次产生相同的数字,因为我需要随后使用这个数字导航到二十个网页中的一个,我不要不希望显示相同的网页.
这是我的代码分三步:
<form action="rand.php">
<p>Click this button to display a random number that does not repeat...</p>
<p><input type="submit" value="Generate"></p>
</form>
Run Code Online (Sandbox Code Playgroud)
这是rand.php:
require_once('functions.php');
$page = generateNumber();
echo $page;
Run Code Online (Sandbox Code Playgroud)
这是functions.php:
<?php
$check = array();
function generateNumber() {
global $check;
$page_no = mt_rand(1,20);
$check[] = $page_no;
if (count($check) != 1) {
foreach ($check as $val) {
if ($val == $page_no) {
$page_no = mt_rand(1,10);
continue;
}
}
return $page_no;
}
else {
return $page_no;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我的代码似乎正在运行,但是,它正在重复数字,所以我显然做错了什么.我最初检查的原因count是,无论如何返回第一个数字,因为它将是一个新的数字.
为了查看号码更改,我一直rand.php在浏览器中刷新页面.
小智 5
我会保持简单.
// List numbers 1 to 20
$pages = range(1,20);
// Shuffle numbers
shuffle($pages);
// Get a page
$page = array_shift($pages);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5372 次 |
| 最近记录: |