在for循环中设置多个参数

时间:2013-10-13 11:48:40

标签: php for-loop parameters

我是PHP的新手,我正在尝试将多个参数设置为相同的值。 我做了(可能)丑陋的方式。

$thpic0 = "thpic_dummy";
$thpic1 = "thpic_dummy";
$thpic2 = "thpic_dummy";
$thpic3 = "thpic_dummy";
etc...
$thpic13 = "thpic_dummy";
$thpic14 = "thpic_dummy";

由于唯一的char更改是参数I中的最后一个char,它可以在for循环中完成,但这(显然)不起作用:

//Reset th sorting pics
for($i=0;$i<=14;$i++)
{
$thpic{$i} = "thpic_dummy";
}

在没有太多代码的情况下,还有另一种方法吗?

4 个答案:

答案 0 :(得分:4)

正确的语法是${…}而不是$…{…}

${"thpic$i"} = ...;

将是有效的语法。

进一步的PHP手册讲述:http://php.net/language.variables.variable.php

答案 1 :(得分:1)

你最好的选择是把它放到这样一个数组中:

for ($i = 0; $i <= 14; $i++) {
    $thpic[$i] = "thpic_dummy";
}

print_r($thpic);

这会返回如下内容: 阵列

(
    [0] => thpic_dummy
    [1] => thpic_dummy
    [2] => thpic_dummy
    [3] => thpic_dummy
    [4] => thpic_dummy
    [5] => thpic_dummy
    [6] => thpic_dummy
    [7] => thpic_dummy
    [8] => thpic_dummy
    [9] => thpic_dummy
    [10] => thpic_dummy
    [11] => thpic_dummy
    [12] => thpic_dummy
    [13] => thpic_dummy
    [14] => thpic_dummy
)

你可以这样称呼:

print $thpic[1]

答案 2 :(得分:1)

你应该使用任何数组来完成这项任务

$thpic = array();
for($i=0;$i<=14;$i++)
{
    $thpic[$i] = "thpic_dummy";
}

echo $thpic[1];

答案 3 :(得分:0)

您可以使用变量来实现您想要的目标:

for($i=0;$i<=14;$i++)
{
    $variable  = 'thpic' . $i;
    $$variable = "thpic_dummy";
}

您可以在文档中详细了解这些内容:http://php.net/manual/en/language.variables.variable.php

或者,您可以使用以下语法:${"thpic" . $i} = "thpic_dummy";