【问题标题】:Replace number in variable with another variable in for loop用for循环中的另一个变量替换变量中的数字
【发布时间】:2016-02-07 12:45:46
【问题描述】:

我正在尝试生成从 $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'); 

【问题讨论】:

  • 请扩展您的问题,您想达到什么目的?如果它在一个循环中,它将不断变化,直到循环的最后一次迭代。
  • 使用数组代替$i 用作索引?
  • 我刚刚删除了 echo 并没有出错,但我不知道变量是否已经存储...所以这可能不是答案。
  • 可以获取变量名,然后您可以拆分字符串(或者您可以尝试使用for 对整数进行硬编码),但出于理智,您真的应该改用数组。没有理由不这样做。

标签: php for-loop count var


【解决方案1】:

试试这个

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

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

}

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

【讨论】:

  • 那个回声毁了聚会
  • @NiranjanNRaju 没关系。是时候删除 cmets 了
【解决方案2】:

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

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

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

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

见deme here

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 2014-02-16
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多