2

您好,我想在每次循环时向变量添加一个数字,以便以后可以拾取该变量。

<?php
$i=1;
while($i<=5)
  {
  $myinfo.$i = "This is the text I can change";
  $i++;
  }
?>

<?php echo $myinfo1 ?>
<?php echo $myinfo2 ?>
<?php echo $myinfo3 ?>
<?php echo $myinfo4 ?>
<?php echo $myinfo5 ?>

我不能在循环中包含“myinfo1”,因为我需要将它添加到页面下方的表格中。

如果不清楚,我很抱歉,但我不知道我正在尝试做的事情的正确名称。

如果有人可以提供帮助,那就太好了。

4

4 回答 4

4

尝试这个 :

<?php
$i=1;
while($i<=5)
  {
  ${'myinfo'.$i} = "This is the text I can change";
  $i++;
  }
?>

<?php echo $myinfo1 ?>
<?php echo $myinfo2 ?>
<?php echo $myinfo3 ?>
<?php echo $myinfo4 ?>
<?php echo $myinfo5 ?>

(但使用数组是更好的解决方案!)

于 2012-12-17T20:42:16.823 回答
2

您是否考虑过使用数组而不是命名变量?通过更改为这种架构,您可以添加更多项目而无需更改代码(添加更多行$myInfoX)。随着您的开发,此方法也将比您当前的代码更易于阅读和添加。

例如,

  $myInfo = array(); 

  for ($i=0; $i<=5; $i++) 
  {
     $myInfo[] = "This is the text I can change";
  }

这将产生一个带有编号索引的数组,您可以像这样回忆:

<?php echo $myInfo[2]; //returns "This is the text I can change" ?> 

您还可以像这样在循环中使用数组:

<?php 
     for($info in $myInfo)
     {
         echo $info; 
     }
 ?> 

这将依次打印数组中的每个元素。

于 2012-12-17T20:46:37.430 回答
0

一个 for 循环会简化事情。

尝试这个:

$myinfo1 = "String of text 1";
$myinfo2 = "String of text 2";
$myinfo3 = "String of text 3";
$myinfo4 = "String of text 4";
$myinfo5 = "String of text 5";

for ($i=1; $i <= 5; $i++){
     echo $myinfo . $i "<br>";
}
于 2012-12-17T20:45:28.167 回答
0

只是为了让你确定这一点

 <?php echo $myinfo1  ;?>
                      ^--------------   you are missing this

这应该是你的代码

 <?php
$myinfo1 = "This is the text I can change"; 
$myinfo2 = "This is the text I can change";   
$myinfo3 = "This is the text I can change";   
$myinfo4 = "This is the text I can change";   
$myinfo5 = "This is the text I can change";        

 for ($i = 1; $i <= 5; $i++) 
 {
echo  $myinfo.$i ;

 }
 ?>
于 2012-12-17T20:46:23.707 回答