PHP将变量传递给变量

时间:2019-09-24 16:05:57

标签: php variables dynamic

我摆出了另一个关于变量的线程。我个人回答了,但他的代码无法正常工作。我请他澄清一下,但他从未回应。因此,我要发布一个后续问题。

我有以下代码。当我将动态$ 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;

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

U!感谢Amigojacks。我也发现我的错误。我在条件循环之外调用$ ct = $ ct + 1,所以实际上是在设置$ var2而不是$ var1,因为循环已经触发了一次。当我在循环内移动$ ct + 1时,它现在可以正常工作。谢谢,很抱歉浪费您的时间。有时只是通过交谈来发现自己的错误。