用for循环中的另一个变量替换变量中的数字

Replace number in variable with another variable in for loop

我正在尝试生成从 $day1Txt 到 $day2Txt 的 25 个变量。

如何将变量$day1Txt中的'1'变成变量$i

for ($i = 1; $i < 25; $i++) { 

        $day1Txt = echo call_user_func('Day_'.$i.'_Offer', 'EMAIL_OFFER'); 

}

我自己尝试过,但是白屏...

  ${'day'.$i.'Txt'} = echo call_user_func('Day_'.$i.'_Offer', 'EMAIL_OFFER'); 

试试这个

for ($i = 1; $i < 25; $i++) { 

        ${"day".$i."Txt"} = call_user_func('Day_'.$i.'_Offer', 'EMAIL_OFFER'); 

}

叫做Variable variables即一个可以动态设置和使用的变量名

这应该对您有所帮助(删除 echo)。

for ($i = 1; $i < 25; $i++) {

        ${"day".$i."Txt"} =  call_user_func('Day_' . $i . '_Offer', 'EMAIL_OFFER');
    }

如果您想查看函数中的所有变量,请使用 get_defined_vars()

参见 deme here