我正在尝试创建一个动态变量。我有一个循环,我希望它循环遍历记录,并为每个记录创建一个变量。我的代码:
$ct = 1;
foreach ($record as $rec){
$var.$ct = $rec['Name'];
$ct = $ct + 1;
}
echo $var1;当我尝试使用上面的代码时,它给我一个错误,告诉我$var1变量不存在/未定义?在PHP中可以像上面的例子一样创建动态变量吗?如果是这样,我做错了什么?
发布于 2019-09-24 23:18:27
将变量名创建为字符串,然后将其赋值:
$ct = 1;
foreach( $record as $rec )
{
$name = 'var'.$ct;
$$name = $rec['Name'];
$ct++;
}
echo $var1;不过,创建一个数组要好得多:
$names = [ ];
foreach( $record as $rec )
{
$names[] = $rec['Name'];
}
echo $names[0];发布于 2019-09-24 23:21:17
您可以对{}使用不同的语法
$ct = 1;
foreach ($record as $rec){
${'var' . $ct++} = $rec['Name'];
}
echo $var1;尽管只使用数组不是更好吗?
Working fiddle
发布于 2019-09-24 23:19:40
您可以使用双$。
$var = "variable";
$$var = "test";
echo $variable;
//echoes "test"在您的示例中:
$ct = 1;
foreach ($record as $rec){
$varname = "var" . $ct;
$$varname = $rec['Name'];
$ct = $ct + 1;
}
echo $var1;https://stackoverflow.com/questions/58083416
复制相似问题