作者foxzgerald (O⊥M)
看板PHP
標題Re: [請益] submit後,亂數值跑掉
時間Tue Nov 21 02:03:16 2006
得注意一下 ' 和 " 之間的差異;被 ' 框起來的字串不會進行脫序(escape),
也不會替代以 $標示的變數。
如果你要輸出 $i 的內容後換行,那麼得用 "\n$i" .. 而不能用 '\n$i'。
前者會在印出$i的內容後輸出符號;後者則直接輸出 $i\n
就參考一下我標色的地方吧 :)
※ 引述《saininniang (sob)》之銘言:
: <?
: session_start();
: if(!isset($_SESSION['rand_value[10]']))
^^^^^^^^^^^^^^^^^^^^^^^^^^^
這地方似乎跟你想做的事情不一樣:
(1). 單引號的意義是將
'rand_value[10]' 當成一整個字串。
(2). 如果你要用二維陣列,那應該以 $_SESSION[
'rand_value'][10] 的形式。
(3). 偵測二維陣列,仍只需檢測 $_SESSION[
'rand_value'] 是否已存在即可
: {
: for ($i=0;$i<10;$i++) //write
: {
: $_SESSION['rand_value[$i]'] = rand(1,100);
這個地方,同第二點所提。你這寫法的意義是將 rand(1,100) 的結果
assign 給 $_SESSION[
'rand_value[$i]'] 十次。
若要讓 $i 具變數的特性,應用雙引號,例: $_SESSION[
"rand_value[$i]"]
或者,以字串連結運算子『.』連結,如: $_SESSION[
'rand_value['.
$i.
']']
但前述的例子
並非合法的二維陣列宣告方式,
合法的宣告方式應為 $_SESSION[
'rand_value'][
$i] ..
如此才能產生 $_SESSION[
'rand_value'][0] 至 [9] 的二維陣列
: echo $_SESSION['rand_value[$i]'] .", ";
: }
: }
: ?>
: 我換把陣列存進session
: 可是這樣session還是一直變動
: 好怪喔@@
: session不是存第一次就不會變了嗎?
--
「640K ought to be enough for anybody.!」
- Bill Gates -
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.199.121
1F:推 saininniang:感謝.....我研究看看.....基礎太差@@ 11/21 02:04
2F:推 foxzgerald:不會啦,就大家討論一下 :) 11/21 02:09
※ 編輯: foxzgerald 來自: 140.119.199.121 (11/21 02:12)
3F:推 foxzgerald:BTW.用"rand_value" 也可以.不一定要用 'rand_value':) 11/21 02:16