

同じ乱数の数字を2つのPHPファイルで使えるようにしたいのですが、違う数字が表示されてしまいます。

[ransuu.php]

[code]

    <?php
     $random = ran(2,9);
    ?>
    
[/code]

[file1.php]

[code]

    <?php
    include 'ransuu.php';
    echo $random; //　例）２
    ?>
    
[/code]

[file2.php]

[code]

    <?php
    include 'ransuu.php';
    echo $random; //　例）４
    ?>
    
[/code]

echoした時の結果がどちらも同じ数字になってほしいのですが、方法がわからないので、どなたか教えていただけますか？  
よろしくお願いします。


CC BY-SA 4.0
2019-11-01T04:03:18.827
60171
2020-09-23T16:03:55.517
2019-11-15T01:23:19.517
3060
34585
question
php
複数のPHPファイルで乱数を共有したい


file1.php,file2.phpにアクセスするたびに新しい乱数が発生してしまっているので  
複数のPHPファイルで同じ値を使用するには基本的にはセッション変数を使います。

ransuu.phpで

[code]

    <?php if (!isset($_SESSION['random']) $_SESSION['random'] = rand(2,9); ?>
    
[/code]

としたあと、  
file1.php,file2.phpで

[code]

    <?php if (isset($_SESSION['random'])) echo $_SESSION['random']; ?>
    
[/code]

とします。


CC BY-SA 4.0
2019-11-15T01:17:41.803
60531
2019-11-15T01:17:41.803
35356
60171
answer


こんにちは

質問者様がご自身でコメントされているとおり、どこかに数値を保存して取り出す必要があると思います。  
候補としては下記が考えられます。

  * Singletonにしたオブジェクト(一時的な用途に限る/コンストラクタで乱数を設定する)
  * Memcacheなどのサービス
  * ファイル
  * セッション(WEBを利用しているなら適切かもしれません)
  * データベース


CC BY-SA 4.0
2020-07-21T01:52:47.437
68774
2020-07-21T01:52:47.437
37777
60171
answer