Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环使用公共名称的变量_Php - Fatal编程技术网

Php 循环使用公共名称的变量

Php 循环使用公共名称的变量,php,Php,乍一看,我想你能理解我的意图。我想循环使用相同名称但带有数字前缀的变量。我还对应该使用的循环类型感到困惑,不确定“for”循环是否有效。唯一的问题是,我无法理解php是如何解释“动态”或捏造变量的。在输出带有美元符号的字符串时也遇到了一些麻烦。提前谢谢 $hello1 = "hello1"; $hello2 = "hello2"; $hello3 = "hello3"; $hello4 = "hello4"; $hello5 = "hello5"; $hello6 = "hello6"; $he

乍一看,我想你能理解我的意图。我想循环使用相同名称但带有数字前缀的变量。我还对应该使用的循环类型感到困惑,不确定“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>";
}
$hello1=“hello1”;
$hello2=“hello2”;
$hello3=“hello3”;
$hello4=“hello4”;
$hello5=“hello5”;
$hello6=“hello6”;
$hello7=“hello7”;
$hello8=“hello8”;
$hello9=“hello9”;
$hello10=“hello10”;

对于($counter=1;$counter它通常不受欢迎,因为它使代码更难阅读和理解,但实际上您可以使用一个变量的值作为另一个变量的名称:

$foo = "bar";
$baz = "foo";

echo $$baz; // will print "bar"

$foofoo = "qux";
echo ${$baz . 'foo'}; // will print "qux"
有关更多信息,请参阅上的PHP文档

但是,正如我已经提到的,这可能会导致一些非常难以阅读的代码。您确定不能只使用数组吗

$hello = array(
    "hello1",
    "hello2",
    // ... etc
);

foreach($hello as $item) {
    echo $item . "<br>";
}
$hello=array(
“你好”,
“你好”,
//…等等
);
foreach($hello作为$item){
回显$item。“
”; }
试试
${“你好”。$counter}

$a = "hell";
$b = "o";
$hello = "world";
echo ${$a . $b};

// output: world

您可以将变量用作:

for ( $counter = 1; $counter <= 10; $counter += 1) {
        echo ${'hello' . $counter } , '<br>';
}

for($counter=1;$counter,因为我想你甚至不需要声明$hello1=“hello1”。因为$counter正在按循环递增数字

<?php 
for ( $counter = 1; $counter <= 10; $counter += 1) {
echo 'hello' . $counter . "\n";
}
?>

+1要获得正确答案并清楚解释为什么不使用它:)这不是一个好主意,请使用许多带有前缀等的变量,例如,phpcs(php代码嗅探器)对此表示不满。
hello1
hello2
hello3
hello4
hello5
hello6
hello7
etc...