2013-10-13 20 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];