Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 之后是否有可能使洗牌数组保持不变?_Php_Shuffle - Fatal编程技术网

Php 之后是否有可能使洗牌数组保持不变?

Php 之后是否有可能使洗牌数组保持不变?,php,shuffle,Php,Shuffle,我有一个纸牌游戏,混合纸牌阵列,有100张牌,值1-100,洗牌-另一种选择是按id随机挑选 每个玩家都有一套牌。这些牌是用POST/submit玩的 我的问题是,每次我发帖时,卡片又混在一起了。但是当分配给卡片变量时,卡片的值应该保持不变 是否有可能在之后设置一个随机常数,以便在发布/加载时不会重新分配变量 function mixcarddeck() { $carddeck = array(100); for ($i = 0; $i < 100; $i++) {

我有一个纸牌游戏,混合纸牌阵列,有100张牌,值1-100,洗牌-另一种选择是按id随机挑选

每个玩家都有一套牌。这些牌是用POST/submit玩的

我的问题是,每次我发帖时,卡片又混在一起了。但是当分配给卡片变量时,卡片的值应该保持不变

是否有可能在之后设置一个随机常数,以便在发布/加载时不会重新分配变量

function mixcarddeck()
{
    $carddeck = array(100);
    for ($i = 0; $i < 100; $i++) {
        $carddeck[$i] = $i + 1;
    }
    shuffle($carddeck);
}

function givecardvalue($i)
{
    $carddeck = mixcarddeck();
    return $carddeck[$i];
}

提前多谢

您可以使用$$在php中生成一个动态变量,而不是单个$,如果这是您想要的

 $variable="name";
    $$variable;

$$variabe is now (same as $name)

现在,生成随机常数并每次生成新变量,以便每次都分配新变量

如果您添加一些代码,向我们展示您现在如何洗牌和存储变量,将会有很大帮助。将洗牌后的数组存储到会话中…?假设你只需要在每个用户的基础上使用它,而不是在多个玩家之间共享相同的洗牌集或类似的东西。。由于我是一个真正的初学者,我从给一个玩家分配五张牌开始{$carddeck=array100;对于$i=0;$i,何时调用givecardvalue?现在,每次调用此函数时都会生成一个新的组。最好调用此函数一次,并将结果存储在一个变量中,然后可以从givecardvalue函数中调用该变量。