【问题标题】:Shuffle items once in session storage在会话存储中随机播放项目一次
【发布时间】:2018-05-07 19:04:12
【问题描述】:

我有一个模板数组。我想在将其存储到会话存储之前将其随机播放一次

有一个问题,每次我重新加载页面时,会话值都会改变。

我建议在您的计算机上查看代码,但您可以在 PhpFiddle 上查看代码

<?php
session_start();
$templates = array("t1","t2","t3","t4","t5");
shuffle($templates);
$_SESSION['templates'] = $templates;

foreach($_SESSION['templates']  as $key=>$value)
    {
    // and print out the values
    echo 'The value of session['."'".$key."'".'] is '."'".$value."'".' <br />';
    }
?>

【问题讨论】:

  • 我认为当你重新加载 shuffle($templates); $_SESSION['templates'] = $templates;所有这些代码都会再次执行,所以显然值会发生变化
  • 您可以在会话变量中创建一个标志并检查其是否为真,然后不要进行随机播放

标签: php session shuffle


【解决方案1】:

使用

if(!isset($_SESSION['templates'])){
shuffle($templates);
$_SESSION['templates'] = $templates;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多