乍一看,我认为你可以得到我想要做的事情.我想循环使用相同名称但带有数字前缀的变量.我也对我应该使用的循环有一些困惑,不确定"for"循环是否有效.唯一的问题是我无法理解php如何解释"即时"或伪造的变量.输出带有美元符号的字符串会遇到一些麻烦.提前致谢!
$hello1 = "hello1";
$hello2 = "hello2";
$hello3 = "hello3";
$hello4 = "hello4";
$hello5 = "hello5";
$hello6 = "hello6";
$hello7 = "hello7";
$hello8 = "hello8";
$hello9 = "hello9";
$hello10 = "hello10";
for ( $counter = 1; $counter <= 10; $counter += 1) {
echo $hello . $counter . "<br>";
}
Run Code Online (Sandbox Code Playgroud)
它通常不赞成,因为它使代码更难以阅读和遵循,但您实际上可以使用一个变量的值作为另一个变量的名称:
$foo = "bar";
$baz = "foo";
echo $$baz; // will print "bar"
$foofoo = "qux";
echo ${$baz . 'foo'}; // will print "qux"
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅变量Variables的PHP文档.
但是,正如我已经提到的,这可能导致一些非常难以阅读的代码.你确定不能只使用数组吗?
$hello = array(
"hello1",
"hello2",
// ... etc
);
for($hello as $item) {
echo $item . "<br>";
}
Run Code Online (Sandbox Code Playgroud)
尝试 ${"hello" . $counter}
$a = "hell";
$b = "o";
$hello = "world";
echo ${$a . $b};
// output: world
Run Code Online (Sandbox Code Playgroud)