$ _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