PHP中如何输出带可变索引的变量(如$start1、$startN)
修正代码实现日期变量批量输出
你的现有代码问题出在可变变量的构造方式错误——你想访问的是$start1、$start2这类变量,但代码里$start.${$i}是把$start(如果存在的话)和$i的数值拼接,完全没正确指向目标变量。
这里给两种可行的修正方案:
方案1:直接修正可变变量写法
for ($i=1; $i <= $no_col ; $i++) { // 构造正确的变量名:start1、start2...,然后用可变变量访问 echo ${"start{$i}"} . ' '; }
注:这种写法最后会多一个末尾空格,若要避免多余空格,可采用方案2。
方案2:用数组收集后统一输出
$dates = []; for ($i=1; $i <= $no_col ; $i++) { $dates[] = ${"start{$i}"}; } // 用空格连接所有日期输出 echo implode(' ', $dates);
这种方式输出更干净,不会出现多余的末尾空格。
补充说明
可变变量的正确用法是:把完整的变量名作为字符串放在大括号里,比如要访问$start1,就构造字符串'start1',然后用${'start1'}或者${"start{$i}"}(当i=1时)来获取变量值。
内容的提问来源于stack exchange,提问作者hassan vaygan
相关产品推荐
相关产品推荐

