PHP将变量的值附加到变量名称

时间:2014-07-11 09:46:25

标签: php

我是一名PHP初学者。 我想创建多个变量,这些变量的名称应该附加一个值,这取决于for循环的计数器变量。

  foreach ( $xmlTagNames as $xmlKey => $xmlTagName )
  {
    if ($xmlTagName == "property")
    {
        for($i = 0; $i < 4; $i ++)
        {
            $$xmlTagName = $xmlFile->createElement ( $xmlTagName );
        }
    }
   }

在第七行,我想要变量名称 $ property0,$ property1等。怎么可以这样做?

3 个答案:

答案 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 );
        }
    }
}