解决方案 1:
如果你想通过只使用PHP 来达到你想要的结果,那么你可以按照这个例子:
HTML:
<a href='index.php?run=true'>Generate</a>
PHP:
<?php
session_start(); // need to use session_start to store array in session.
function generatedNumbers(){
$random_number_array = range(0, 100);
shuffle($random_number_array);
$random_number_array = array_slice($random_number_array,0,10);
foreach ($random_number_array as $key => $value) {
$myArray[] = $value; // store values in array
}
if(isset($_SESSION['data']) && count($_SESSION['data']) > 0){
$myArray = array_merge($_SESSION['data'],$myArray); // merge new and old array if exist in session.
}
$_SESSION['data'] = $myArray; // reset the value in session.
echo "<pre>";
print_r($myArray);
}
if (isset($_GET['run'])) {
generatedNumbers();
}
?>
一些解释:
在PHP 中,您可以使用session 获得所需的输出,您可以将所有值存储到一个数组中,然后您可以使用$_SESSION 获得下一个结果,最后您可以使用以下方法将新旧数据合并在一起array_merge()
解决方案 2:
你也可以通过使用jQuery/Ajax得到想要的结果:
前端:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<a href='javascript:void(0);' id="generate">Generate</a>
<div id="result"></div>
<script type="text/javascript">
$(document).ready(function(){
$("#generate").click(function(){
$.ajax({
url: "index2.php",
type: "GET",
data: "run=1",
dataType: "html", // Has to be false to be able to return response
success: function(response) {
$("#result").html(response);
}
}); // JQUERY Native Ajax End
});
});
</script>
现在,您需要使用 ajax 调用 index2.php,您的 index2.php 具有以下代码:
index2.php:
<?php
session_start(); // need to use session_start to store array in session.
function generatedNumbers(){
$random_number_array = range(0, 100);
shuffle($random_number_array);
$random_number_array = array_slice($random_number_array,0,10);
foreach ($random_number_array as $key => $value) {
$myArray[] = $value; // store values in array
}
if(isset($_SESSION['data']) && count($_SESSION['data']) > 0){
$myArray = array_merge($_SESSION['data'],$myArray); // merge new and old array if exist in session.
}
$_SESSION['data'] = $myArray; // reset the value in session.
echo "<pre>";
print_r($_SESSION['data']);
}
if (isset($_GET['run'])) {
generatedNumbers();
}
?>
旁注: index.php 和 index2.php 必须在同一目录中。