2017-06-21 110 views
0

說我有以下表中的MySQL在會話[「B」]存儲陣列由陣列中的會話[「A」]

No. Item price code 
1 apple 12.00 001 
2 pear 10.00 002 
3 orange 9.00 003 
4 grape 15.00 004 

我使用PHP some_page.php啓動會話,並運行查詢SQL,然後保存爲$_SESSION['A']具有低於數組:

1 apple 12.00 001 
2 pear 10.00 002 

(這$_SESSION['A']是暫時的,將被取消設置-ED每次新查詢到MySQL)

現在,在$_SESSION['A']沒有設置,是否有可能選擇$SESSION['A']陣列存儲在同一some_page.php另一個會話稱爲$SESSION['B']?隨着陣列:

2 pear 10.00 002 

$_SESSION['B']將是持續時間較長)

我的邏輯是TAT我儘量不要多次運行SQL只是多拿陣列已經可以從$_SESSION['A']其中。

+0

這是什麼問題?這是完全可能的 – 2017-06-21 15:05:32

+0

你在這裏有什麼問題? –

+0

它不像$ _SESSION [ 'B'] = $ _SESSION [ 'A'],以完成任務,\t 我只想選擇(indiviually)從$ _SESSION 1個或2個數組[ 'A']不是所有的.. –

回答

0

我可能會被誤解的問題,但

$ _SESSION只是一個關聯數組: http://php.net/manual/en/reserved.variables.session.php

所以,你可以做$_SESSION['B'] = $_SESSION['A'],將陣列從「A」複製到「B」。然後隨意取消「A」。

編輯: 如果你只想要$ _SESSION [「A」]數組的一部分,那麼您可以通過索引來訪問它像​​。根據數組的格式,您可能需要解析它以獲取所需的元素。

+0

我只想從$ _SESSION ['A']中選擇1或2個數組,而不是全部... –

+0

請參閱我的編輯。 $ _SESSION ['A']可以是數組或數組的數組或任何類型的數據,因此您可以訪問和操作它。 – drewcifer

0

如果你想保存到只有B A的一部分,您可以複製整個數組,然後取消設置你想要的索引。 或者你可以在使用foreach,只檢查您的內容相匹配的條件,然後把內容轉換成B. 或者通過A. 的情況下直接通過將內容保存到B或保存到你想要什麼只和然後複製到B.

_SESSION是一個關聯數組,你可以操縱它,只要你想。 對於數組的未固化的元件可以使用unset($array[$index])其中$index可以是INTSTRING,它取決於從你。