PHP动态创建外部变量

时间:2017-09-24 01:50:29

标签: php

我想知道如何动态创建外部变量(缺少更好的术语)。外部变量的含义是内部变量。

外部变量

$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

1 个答案:

答案 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问题的迭代。