循环FOR和字符串

时间:2011-04-08 15:31:40

标签: php

我想要这样的东西:

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

像这样一个带字符串的循环,结果应该是这样的:

1
2
50

谢谢大家!!

6 个答案:

答案 0 :(得分:6)

为什么不使用数组?

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

答案 1 :(得分: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

答案 2 :(得分:1)

使用数组:

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

答案 3 :(得分:1)

可以 完成您想要的工作:

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

但你真正 使用的是一个数组:

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

循环后更容易使用。 (使用echo implode("<br>",$string);代替厌倦的连接链。)

答案 4 :(得分:0)

如果你真的必须,你可以说${string_.$i} = "hello" . $i;。但要避免这种情况并使用数组会更好。

答案 5 :(得分:0)

使用数组

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