2013-10-13 26 views
2

我是PHP的新手,我试图将多个参数设置为相同的值。 我已经完成了(可能)丑陋的方式。在for循环中设置乘法参数

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

由于只有焦炭变化是我thaught它可以在完成参数的最后一个字符一个for循环,但是这个(显然)不工作:

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

是否有另我可以做到这一点,没有太多的代码行?

+5

为什么不使用['array'](http://php.net/manual/en/language.types.array.php) – pNre

+2

也许这是[XY问题](http://meta.stackexchange。 COM /问题/ 66377 /什么,是最XY-问题)?你究竟想实现什么? – insertusernamehere

+1

@pNre他实际上在使用一个数组('{...}'是'[[]]'的替代方法)。 (相信我或不是;用一个简单的'$ a = array(“a”); var_dump($ a {0});') – bwoebi

回答

4

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

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

将是有效的语法。

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

+2

我认为'阵列'会更好。 –

+1

@u_mulder是真的,但那不是真的他的问题... – bwoebi

1

您最好打赌的是probab LY把这个变成一个这样的数组:

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] 
+0

http://stackoverflow.com/questions/19344842/set-multiply-parameters-in-a-for-loop/19344857#comment28659794_19344842 ...你不是建议任何改进。 – bwoebi

1

你应该使用任何数组此任务

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

echo $thpic[1];