我是一名PHP初学者。 我想创建多个变量,这些变量的名称应该附加一个值,这取决于for循环的计数器变量。
foreach ( $xmlTagNames as $xmlKey => $xmlTagName )
{
if ($xmlTagName == "property")
{
for($i = 0; $i < 4; $i ++)
{
$$xmlTagName = $xmlFile->createElement ( $xmlTagName );
}
}
}
在第七行,我想要变量名称 $ property0,$ property1等。怎么可以这样做?
答案 0 :(得分:2)
正如@David所说,数组可能是您应该使用的:
$properties = array();
foreach ( $xmlTagNames as $xmlKey => $xmlTagName )
{
if ($xmlTagName == "property")
{
for($i = 0; $i < 4; $i ++)
{
$properies[] = $xmlFile->createElement ( $xmlTagName );
}
}
}
然后,您可以使用$properies[0]
,$properies[1]
,$properies[2]
和$properies[3]
访问媒体资源。
但如果您坚持使用递增名称创建变量,则可以使用以下内容:
foreach ( $xmlTagNames as $xmlKey => $xmlTagName )
{
if ($xmlTagName == "property")
{
for($i = 0; $i < 4; $i ++)
{
$variableName = $xmlTagName.$i;
$$variableName = $xmlFile->createElement ( $xmlTagName );
}
}
}
答案 1 :(得分:1)
我同意这些评论:你应该在这里使用数组。
要回答您的问题,请使用以下语法:
${$xmlTagName . $i} = $xmlFile->createElement ( $xmlTagName );
答案 2 :(得分:0)
我同意其他评论,你最好在这里使用数组
$properties = array();
foreach ( $xmlTagNames as $xmlKey => $xmlTagName )
{
if ($xmlTagName == "property")
{
for($i = 0; $i < 4; $i ++)
{
$properties['property' . $i] = $xmlFile->createElement ( $xmlTagName );
}
}
}
var_dump($properties);
如果您开始使用变量
foreach ( $xmlTagNames as $xmlKey => $xmlTagName )
{
if ($xmlTagName == "property")
{
for($i = 0; $i < 4; $i ++)
{
$variableName = $xmlTagName . $i;
$$variableName = $xmlFile->createElement ( $xmlTagName );
}
}
}