如何在没有重复的情况下执行array_rand
然后刷新页面?
我的意思是当您的表单提交时,此问题被删除,刷新页面时没有看到。
if($action == "first")
{
$arrQuote = array();
$arrQuote[0] = '
<form method="post" action="index.php?action=second" class="form-inline">
<h2>Ar var yra geras dalykas</h2>
<div class="form-group">
<input type="text" class="form-control" name="klausimas_1">
</div>
<button type="submit" name="submit_1" class="btn btn-default">Add Task</button>
</form> >';
$arrQuote[1] = '
<form method="post" action="index.php?action=second" class="form-inline">
<h2>Ar int yra geras dalykas</h2>
<div class="form-group">
<input type="text" class="form-control" name="klausimas_2">
</div>
<button type="submit" name="submit_2" class="btn btn-default">Add Task</button>
</form> ';
echo $arrQuote[array_rand($arrQuote)];
}
答案 0 :(得分:0)
使用会话跨页面保持不变。您只想在第一个表单中定义$_SESSION['arrQuote']
并将其添加到会话中。然后,您可以在此页面上获取和删除一个元素以及第二个页面等:
session_start();
//$_SESSION['arrQuote'][0] = ..........
//$_SESSION['arrQuote'][1] = ..........
$key = array_rand($_SESSION['arrQuote']);
echo $_SESSION['arrQuote'][$key];
unset($_SESSION['arrQuote'][$key]);
然而,洗牌和删除会更容易:
session_start();
//$_SESSION['arrQuote'][0] = ..........
//$_SESSION['arrQuote'][1] = ..........
shuffle($_SESSION['arrQuote']);
echo array_pop($_SESSION['arrQuote']);