Array_rand没有重复然后刷新页面

时间:2018-02-05 21:36:39

标签: php arrays

如何在没有重复的情况下执行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)];  
    }

1 个答案:

答案 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']);