2013-07-11 70 views
0

我可能会问这个错误,忽略了一些非常简单的事情,或者只是试图去做不可能的事情。或者我可能会问错误的问题来从搜索中获得我需要的答案,所以请接受我的道歉,如果我有错过了答案的地方..如何修改变量名称?

我想重命名一个会话变量..我有一个脚本,其中包含多个包括其他脚本,创建用户的付款历史数据表。从我的购物车发回的XML用于更新信息所来自的数据库。这个脚本检查会话变量(IE:$ _SESSION ['PAYMENT1'],$ _SESSION ['PAYMENT2']等)。如果有值,它会调用正确的脚本在先前的付款下添加一个表。所有这些都很好,但是当收到新的付款时,我想更新视图以显示最近的付款。它正在工作,但仅在注销/重新登录后。有没有一种方法来动态地添加nnumber到名称(IE:$ _SESSION ['付款*改变这个为正确的数字*']) 我已经做了这个使用PHP代码回显到HTML代码,但我需要做到这一点一个PHP脚本..我知道我可以用Java,但是不想使用它的权力“,以防他们关闭Java”..不是我知道任何人禁用Java了..

+0

与'$ _SESSION ['PAYMENT {$ var}'] =“某物”一样;'? – Jon

+0

'$ _SESSION ['payment'] [] = $ xxxx'听起来像是应该使用多维数组 – 2013-07-11 21:24:24

+0

您所指的语言被命名为“Javascript”,而不是“Java”。 – Sven

回答

0

算$ _SESSION

$s=count($_SESSION); 

大小,每当在做一个新的支付只需要创建一个新的会话可变\

$_SESSION['payment'.$s+1]=""; 

希望这将解决这个问题。

+0

这似乎工作最好回答我问的问题!也就是说,在稍微深入一点之后,我认为一个数组是正确的方法。所以这是我的临时解决方案,因为我正在研究如何实现这些函数的数组。谢谢大家的输入! – Chris

0

你不应该做在PHP这种方式,而不是你应该如果您存储数据使用foreach循环

在一个数组,你可以做到这一切是这样的:

foreach ($_SESSION['PAYMENTS'] as &$payment) { 
    $payment += 5; 
} 

您可以将您的数据存储在一个阵列中做$_SESSION['PAYMENTS'][0] = $myNewPayment

+0

如果您创建了一个参考文件,请在循环后立即“取消设置($ payment)”!否则会出现奇怪的副作用! – Sven

+0

@Sven随时编辑我的帖子,感谢您的提示:) – Stephan

0

使用数组! $_SESSION['payment'][1]