TransWikia.com

複数のPHPファイルで乱数を共有したい

スタック・オーバーフロー Asked by menme on September 1, 2021

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

[ransuu.php]

<?php
 $random = ran(2,9);
?>

[file1.php]

<?php
include 'ransuu.php';
echo $random; // 例)2
?>

[file2.php]

<?php
include 'ransuu.php';
echo $random; // 例)4
?>

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

2 Answers

こんにちは

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

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

Answered by Kouki.W on September 1, 2021

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

ransuu.phpで

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

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

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

とします。

Answered by nomlis on September 1, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP