首页 > 解决方案 > PHP将变量传递给变量

问题描述

我提出了关于变量变量的另一个线程。我的人做出了回应,但他的代码不起作用。我要求他澄清,他从来没有回应。所以我发布了一个后续问题。

我有下面的代码。当我将动态 $ct 放入代码中时,它会失败并显示未定义的变量。但是当我删除 $ct 时,它工作正常。有人会澄清我如何将 $ct 变量添加到变量的末尾以便我可以拥有动态变量吗?

$ct = 1;
${"var".$ct} = "String";
echo  $var1;  

以上失败。

$ct = 1;
${"var"} = "String";
echo $var1;

这很好用

因此,添加动态$ct.

他说应该可以正常工作。我也尝试过使用 $$ 变量然后设置该变量但仍然失败。

/////////编辑

所以我的代码如下所示:

$ct=1;
foreach ($Emp1 as $e){
    if ($e['Status']!="Primary"){



     ${"B1_E1_Info$ct"} = $e['Employer_Name']." ".$e['Address_Unit']." ".$e['City']." ".$e['State']." ".$e['Zip'];
     $B1_E1_SE.$ct  = (strpos($e['Self_Employed'], "| Y") !== false) ? true : false;
     $B1_E1_YrsOn.$ct  = $e['Years_on_Job'];
     $B1_E1_YrsIn.$ct  = $e['Years_in_Line_of_Work'];
     $B1_E1_Pos.$ct  = $e['Position_Title'];
     $B1_E1_Ph.$ct  = $e['Business_Phone'];
    }
    $ct= $ct+1;

}
 echo  $B1_E1_Info1;

当在循环中调用时,它不起作用。如果我把它从循环中拿出来,它就可以工作。同样,如果我将循环内的代码更改为不包含 $ct 它也可以工作。$ct 只是在循环中不起作用。

标签: phpvariablesdynamic

解决方案


欢迎来到互联网 - 它通过链接工作。如果您的问题是后续问题,则链接到您所指的答案。如果它是https://stackoverflow.com/a/58083537/4299358那么该代码可能会“失败”,因为$record它可能是空的,永远不会设置$var1

评论中已经提到了其他所有内容:您的第一个代码确实有效 - 您的 PHP 版本非常过时,或者您没有自己测试过该代码(在其自己的 PHP 文件中,之前没有任何内容)。这里和那里的评论也建议您改用数组。


推荐阅读