3

我得到了制作表格的 100-200 条规则代码。但整个时间都是一样的。我有一个变量 $xm3,然后我创建一个列。下一行,我得到了 $xm2 并制作了专栏。下一行,我得到 $xm1 并创建列。

所以我的变量将变为 $xm3、$xm2、$xm1、$xm0、$xp1、$xp2、$xp3。

有没有办法制作一个forloop,这样我就可以填充$xm,然后从for循环中获取一个值?

4

5 回答 5

3

在这种结构中,您最好对这些类型的值使用数组,但是如果您想创建一个循环来遍历它们:

for($i = 0; $i <= 3; $i++) {
    $var = 'xm' . $i
    $$var; //make column stuff, first time this will be xm0, then xm1, etc.

}
于 2010-05-27T15:55:43.303 回答
2

目前尚不完全清楚你在问什么,但你可以做

$xm = 'xm3';
$$xm // same as $xm3

在 PHP 中,因此您可以循环访问具有相似名称的变量。(这并不意味着您应该这样做。使用数组通常是更好的选择。)

于 2010-05-27T15:50:21.240 回答
1

据我所知,使用不同的变量名是不可能的。

但是,如果您使用数组,如下所示

$xm[3] = "";
$xm[2] = "";
$xm[1] = "";
$xm[0] = "";

要不就$xm[] = "";

然后你可以使用 for each 循环:

foreach($xm as $v) { echo $v; }

编辑:刚刚谷歌搜索,这可以使用变量名,但被认为是不好的做法。学习和使用数组!

于 2010-05-27T15:49:23.990 回答
0

您可以使用可变变量来执行此操作,但通常最好在数组中执行此类操作。

如果你确定你想这样做,并且如果 'y' 是你的计数器在 for 循环中的值:

${'xm' . $y} = $someValue;
于 2010-05-27T15:49:11.553 回答
0

您可以轻松地执行以下操作:

$base_variable = 'xm';

然后你可以创建一个循环动态创建变量;例如:

for ($i=0; $i<10; $i++)
{
  $def_variable = $base_variable . $i;
  $$def_variable = 'value'; //this is equivalent to $xm0 = 'value'
}
于 2010-05-27T16:01:31.263 回答