我想知道如何动态创建外部变量(缺少更好的术语)。外部变量的含义是内部变量。
外部变量
$external_variable
内部变量
$external_variable = 'internal_variable';
现在假设我想动态地为外部变量创建一个不同的后缀,是否可能?
使用forloop
for ($a=1; $a <= 3; $a++) {
$external_variable_$a
}
结果
$external_variable_1
$external_variable_2
$external_variable_3
这样做是否有意义?
编辑
我正在用真实代码提供更多细节。我实际上是在尝试更改$pw_monday
,以便每次forloop迭代$pw
后缀成为$_SESSION
中的下一个工作日。或许我太累了,无法想出另一种方式。
//get all the dates of previous week
$pw_monday = date("Y-n-j",strtotime($previousweek .' last Monday' ));
$pw_tuesday = date("Y-n-j",strtotime($pw_monday .' +1 day' ));
$pw_wednesday = date("Y-n-j",strtotime($pw_tuesday .' +1 day' ));
$pw_thursday = date("Y-n-j",strtotime($pw_wednesday .' +1 day' ));
$pw_friday = date("Y-n-j",strtotime($pw_thursday .' +1 day' ));
$pw_saturday = date("Y-n-j",strtotime($pw_friday .' +1 day' ));
$pw_sunday = date("Y-n-j",strtotime($pw_saturday .' +1 day' ));
//put all dates in session
for ($rn=1; $rn <= 7; $rn++) {
//request days
$requestNs ='request_'.$rn;
$_SESSION[$requestNs] = $pw_monday;
}
最终结果
$_SESSION[request_1] = $pw_monday;
$_SESSION[request_2] = $pw_tuesday;
//...get the drift
答案 0 :(得分:1)
$pw_monday = date('Y-n-j', strtotime($previousweek . ' last Monday'));
for ($day = 0; $day < 7; $day++) {
$nth_day = date('Y-n-j', strtotime("$pw_monday +$day day"))
$_SESSION["request_$day"] = $nth_day;
}
这样的事情可以解决问题。
尽管您很可能不希望将这些日期添加到会话中,但是您需要与我们分享为什么要将它们存储在那里。
老实说,我无法想出这样做的理由,所以我们可能会再次进行 XY问题的迭代。