簡體   English   中英

更新特定的會話變量

[英]Update a specific Session Variable

我正在使用此代碼輸出所有已注冊的會話變量-

 echo "<pre>";
 print_r($_SESSION);
 echo "</pre>";
 exit();

這就是我得到的

Array
 (
[language] => english
[navigation] => navigationHistory Object
    (
        [path] => Array
            (
                [0] => Array
                    (
                        [get] => Array
                            (
                            )

                        [post] => Array
                            (
                            )

                    )

                [1] => Array
                    (

                        [get] => Array
                            (
                            )

                        [post] => Array
                            (

                                [number] => XXXXXXXXXXXX
                                [x] => 62

                            )
                )

            )

        )
 )

我想將[1]數組中的數字變量從XXXXXXXX ...更新為555555。

$_SESSION['number'] = "55555555555555";

但這最終只是在數組外部使用555 ..值創建了一個名為number的新會話變量,而沒有更新正確的會話變量。 能做到嗎?

這是一個嵌套的數組/對象,因此您必須遍歷要設置的數組變量:

$_SESSION['navigation']->path[1]['post']['number'] = "55555555555555";

嘗試這個:

$_SESSION['navigation']->path[1]['post']['number']=123;

我本人對此經常感到困惑,花了我一些時間才能弄清楚這些很長的家伙。 一個讓您自己弄清楚這些事情的真正簡單方法是執行以下操作:在代碼的最后,您有一個print_r:

print_r($_SESSION);

猜測層次結構中的下一個級別是什么:

print_r($_SESSION['navigation'])

運行該命令,如果出現錯誤,請嘗試其他操作。 如果可行,您應該看到那個家伙的印記,並且您會“接近”您的價值。 一旦看起來不錯,請附加另一個屬性:

print_r($_SESSION['navigation']->path);

那樣有用嗎? 好的,繼續。 並一直執行此操作,直到您完全得到想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM