【问题标题】:PHP concatenate variablePHP 连接变量
【发布时间】:2023-04-08 12:07:01
【问题描述】:

对你们来说可能是一个简单的问题。在谷歌上找不到。

我正在尝试连接两个变量名称;

$i=0;
 for ($i=0;$i<5;$i++){
   if($array[$i]>0){

   $test.$i=//do something
   }else{
  $test.$i=//do something
  }
}

//echo $test0 gives me nothing.
//echo $test1 gives me nothing.

我知道我不能使用 $test.$i 但不知道该怎么做。有帮助吗?谢谢!

【问题讨论】:

    标签: php variables concatenation


    【解决方案1】:

    【讨论】:

    • 因为链接而接受了答案! :D
    • OP 代码的最后两行暗示如果$i == 0,他正在尝试访问$test0。在这种情况下,如果 $test 未定义,则 $test 将评估为空字符串,而 {$test.$i} 将评估为“0”。
    • 我认为,您已点击支票下方的分数以接受答案;)
    • 我不能。弹出一条消息说我必须等待 3 分钟。
    • 啊哈..:D ...不知道,抱歉
    【解决方案2】:

    我假设变量名为 $test0、$test1、...、$test5。您可以使用以下内容:

    ${"test".$i}
    

    不过,我可以建议您将 $test 设为数组并使用 $i 作为索引吗?使用 $i 作为索引来循环遍历变量名列表是非常奇怪的。

    例如,而不是:

    $test0 = "hello";
    $test1 = "world";
    

    用途:

    $test[0] = "hello";
    $test[1] = "world";
    

    【讨论】:

    • 我很喜欢你的建议。我已经给了西蒙接受的答案。 +1 虽然:D
    【解决方案3】:

    试试这个:

     for ($i=0;$i<5;$i++){
        $the_test = $test.$i;
        if($array[$i]>0){
            $$the_test=//do something
        }
        else{
            $$the_test=//do something
        }
    }
    

    【讨论】:

      【解决方案4】:

      这可能有效:

      $varName = $test . $i;
      $$varName = ...
      

      请问这是哪里需要的吗?

      【讨论】:

      • 我正在尝试循环二维数组..这里很难解释,但我需要连接才能得到我需要的东西。不过谢谢。 +1
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2012-07-29
      • 2010-12-26
      • 2017-08-21
      • 1970-01-01
      相关资源
      最近更新 更多