我需要一些以下格式的变量:
$m_01;
$m_02;
$m_03;
.....
.....
.....
$m_12;
Run Code Online (Sandbox Code Playgroud)
变量中的数字是日历的月份。我可以分别声明12个变量。但是,我想使用循环来声明变量。所以我做了这样的事情。
for($i = 1; $i <= 12; $i++) {
if($i<10)
$month = '0'.$i;
else
$month = $i;
$m_$i;
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到一些错误:-
解析错误:语法错误,第 412 行 /var/www/html/custom/ci/Dotell_customer/application/controllers/login.php 中出现意外的“$month”(T_VARIABLE)
我怎样才能克服这个问题?
笔记:
$$month creates a variable 01;
Run Code Online (Sandbox Code Playgroud)
有什么办法可以让变量消失m_01吗?
PS我知道数组。我只是想学习PHP变量变量。
这不是可遵循的最佳实践,但仍然只是为了答案:
for($i = 0; $i <= 12; $i++) {
${"m_$i"} = $i;
}
echo $m_1;
echo $m_2;
echo $m_3;
Run Code Online (Sandbox Code Playgroud)
最佳实践是创建一个数组。例如:
$arr = [];
for( $i=0; $i <=12; $i++ ) {
$arr['m_'.$i] = $i;
}
print_r($arr);
Run Code Online (Sandbox Code Playgroud)