首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php -即使页面被刷新,仍然保留被洗牌的值。

php -即使页面被刷新,仍然保留被洗牌的值。
EN

Stack Overflow用户
提问于 2014-07-21 03:20:59
回答 3查看 728关注 0票数 0

我做了一个小测验,用shuffle()函数在结尾产生一个随机答案。我希望它保持不变的回答,不要再洗牌。

我的代码:

代码语言:javascript
复制
<?php

//Array of cars
$answer = array(
"Mercedes", 
"Benz", 
"Honda", 
"Toyota", 
"Nissan", 
"Mazda", 
"Hyundai", 
"Ford", 
"Lexus", 
"Lamborghini", 
"Ferrari", 
"Porche", 
"Mitsubushi", 
"Scion", 
"Chrysler", 
"Jeep", 
"Masarati"
);

// Shuffle the order
shuffle($answer);

echo $answer[0];
?>

例如:如果$answer被洗牌并生成“三菱”--当我刷新页面时,它应该保持为“三菱”,但是,当页面刷新时,它会再次重组。 因此,当我刷新页面时,echo是执行shuffle()函数的另一件事。

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-07-21 03:32:10

将数组存储到会话变量中

代码语言:javascript
复制
    <?php
    session_start();

    //Array of cars
    $answer = array(
    "Mercedes", 
    "Benz", 
    "Honda", 
    "Toyota", 
    "Nissan", 
    "Mazda", 
    "Hyundai", 
    "Ford", 
    "Lexus", 
    "Lamborghini", 
    "Ferrari", 
    "Porche", 
    "Mitsubushi", 
    "Scion", 
    "Chrysler", 
    "Jeep", 
    "Masarati"
    );

    // Shuffle the order only first time
   if(!isset($_SESSION['shuffle_answer'])){
      $_SESSION['shuffle_answer']=shuffle($answer);
   }

    if(isset($_SESSION['shuffle_answer'])){
       echo $_SESSION['shuffle_answer'][0];
    }else{
       echo $answer[0];
    }
    ?>
票数 2
EN

Stack Overflow用户

发布于 2014-07-21 03:25:33

你在找会话。您需要调用session_start并将值存储在$_SESSION中。

票数 0
EN

Stack Overflow用户

发布于 2014-07-21 03:25:56

您可以尝试在“回显”之前“取消”变量$answer。

//洗牌命令($answer);

回波$answer;未设置($answer)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24857267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档