2

これは基本的なことですが、私は初心者すぎてうまくいかないようです。ここで、どうにかして 100 個のアレイを別のセッションに入れたいと思っていますが、そのようなことはうまくいかないようで、なぜだろうか?

for($i=1; $i<=100; $i++) {
    $age = rand(1,100);
    $table[] = $age;
    $_SESSION[$i] = $table[];
    }

後で、for ループを使用して出力された 100 セッションすべての $age をエコーできるようにする必要があります。私がもう一度好きなら、それは未定義のオーバーライドについて言い、100 個の $i のすべての数を示します。

for($i=1; $i<=100; $i++) {
    echo $_SESSION[$i];
    }
4

3 に答える 3

1
for($i=1; $i<=100; $i++) {
    $age = rand(1,100);
    $ages[] = $age;
}

$_SESSION['ages'] = $ages;

他のスクリプトで

$ages = $_SESSION['ages'];
foreach($ages as $age) {
    echo $age;
}
于 2013-02-15T20:44:31.653 に答える
0

次のようにできます。

for($i=1; $i<=100; $i++) {
    $age = rand(1,100);
    $table[] = $_SESSION["ages"][$i] = $age;
}
于 2013-02-15T20:47:29.490 に答える
0

$_SESSION通常の配列であるかのように操作することはできませんが、そうではありません。を使用する場合、数値インデックスは使用できません$_SESSION$_SESSION以下のコードは完全に無効であり、通知が発生し、期待どおりに入力されない可能性があります

// bad code!

$_SESSION[1] = 'foo'; // error
$_SESSION[] = 'bar'; // error
for ($i = 1; $i <= 100; $i++) {
    $_SESSION[$i] = rand(1, 100); // error 100x
}

Bram Gerritsen が彼の回答で示唆しているように、コードを次のように変更します。

for($i=1; $i<=100; $i++) {
    $age = rand(1,100);
    $ages[] = $age;
}

$_SESSION['ages'] = $ages;

詳細については、この PHP バグ レポート を参照してください

于 2013-02-15T20:49:04.287 に答える