2011-04-08 22 views
1

嗯,我想是這樣的:回線和串

for($i = 1; $i <=50; $i++){ 
    $string_$i = "hello" . $i; 
    } 
echo $string_1 . "<br>"; 
echo $string_2 . "<br>"; 
echo $string_50; 

像這樣的東西用繩子循環的結果應該是這樣的:

1 
2 
50 

謝謝大家!

+0

他試圖使用一個變量作爲一個變量的名稱的一部分。 – 2011-04-08 15:34:54

+0

這個問題是一個正常的錯誤的PHP「解析錯誤:語法錯誤,意想不到的T_VARIABLE在/var/www/dominio/proceso.php線4」,但現在回答和解決了,再次感謝! – 2011-04-08 15:36:58

+0

如果您使用瞭解決方案,請接受它。這將確保您的問題將在未來得到快速解答。 – 2011-04-08 15:39:42

回答

2

另一種解決方案是使用array_map

<?php 
    function hello($a){ 
    return "hello" . $a; 
    } 
    $string = array_map("hello ", range(1, 50)); 
    var_dump($arr); 

?> 

然後調用:

echo $string[1] . "<br>"; 
echo $string[2] . "<br>"; 

直播編碼示例:

http://codepad.org/p5T31pua

6

爲什麼不使用數組?

for($i = 1; $i <=50; $i++){ 
    $string[$i] = "hello" . $i; 
} 
echo $string[1] . "<br>"; 
echo $string[2] . "<br>"; 
echo $string[50]; 
+0

你打敗了我兩秒!哈! – Infotekka 2011-04-08 15:34:45

1

使用的數組:

for($i = 1; $i <=50; $i++) { 
    $string[$i] = "hello" . $i; 
} 
echo $string[1] . "<br>"; 
echo $string[2] . "<br>"; 
echo $string[50]; 
1

可以完成你想要什麼有:

${"string_$i"} = "hello" . $i; 

但你真的應該是怎樣使用是陣列:

$string[$i] = "hello" . $i; 

在循環後更容易處理。 (使用echo implode("<br>",$string);代替繁瑣的級聯鏈。)

0

如果您確實需要,您可以說${string_.$i} = "hello" . $i;。但是避免這種情況並使用數組會更好。

0

使用數組

for($i = 1; $i <=50; $i++){ 
    $string[$i] = "hello" . $i; 
} 
echo $string[1] . "<br>"; 
echo $string[2] . "<br>"; 
echo $string[50];