$ _SESSION是一個數組,但爲了比較數據,您可以在該數組中創建數組。
如果您對數據執行此操作,則不需要重命名名稱值對中的鍵,因爲它們在新子數組內是唯一的。
警告:在全局範圍內使用提取是令人討厭的,它會將變量噴射到全局範圍中,以後只會混淆您或必須維護腳本的人員。
session_start();
$_SESSION["pr_first_name"] ="Thomas";
$_SESSION["pr_middle_name"] ="Richard";
$_SESSION["pr_last_name"] ="Peterson";
$t = array(
'pr_first_name' => $_SESSION["pr_first_name"],
'pr_middle_name' => $_SESSION["pr_middle_name"],
'pr_last_name' => $_SESSION["pr_last_name"]
);
$_SESSION['new_names'] = $t;
// now amend the new occurance in SESSION however you like
$_SESSION['new_names']['pr_first_name'] = 'Some new value';
$_SESSION['new_names']['pr_first_name'] = 'Some new value';
$_SESSION['new_names']['pr_first_name'] = 'Some new value';
或者,如果您有一個更大的想要複製的$ _SESSION中的發生列表,
session_start();
function new_names($sess)
{
$picks = ['pr_first_name', 'pr_middle_name', 'pr_last_name' ];
$new = [];
foreach ($picks as $name) {
$new[$name] = $sess[$name];
}
return $new;
}
$_SESSION["pr_first_name"] ="Thomas";
$_SESSION["pr_middle_name"] ="Richard";
$_SESSION["pr_last_name"] ="Peterson";
$_SESSION['new_names'] = new_names($_SESSION);
// now amend the new occurance in SESSION however you like
$new = $_SESSION['new_names'];
$new['pr_first_name'] = 'Some new value';
$new['pr_first_name'] = 'Some new value';
$new['pr_first_name'] = 'Some new value';
當然,如果你從一開始就使用了這種區隔。這將是更容易創建一組新的數據
$_SESSION['first']["pr_first_name"] ="Thomas";
$_SESSION['first']["pr_middle_name"] ="Richard";
$_SESSION['first']["pr_last_name"] ="Peterson";
$_SESSION['new'] = $_SESSION['first'];
$new = $_SESSION['new'];
$new['pr_first_name'] = 'Some new value';
$new['pr_first_name'] = 'Some new value';
$new['pr_first_name'] = 'Some new value';
'$ _SESSION [$ var] = $ value'? – Ad5001
你想要回顯保存在會話變量中的值是你想要的嗎? –
你的意思是用新值替換現有的鍵? – RiggsFolly