我有以下用于发送表单的变量和文本inisde的代码。我的问题是,我不知道如何执行该文本内的PHP,例如foreach函数。如何在<<< END中使用foreach,PHP
$somearray;
$variable = <<<END
Hello world foreach($somearray as $v){echo $v} //this does not work of course in my case.
END;
你的帮助将非常感激。 谢谢
我有以下用于发送表单的变量和文本inisde的代码。我的问题是,我不知道如何执行该文本内的PHP,例如foreach函数。如何在<<< END中使用foreach,PHP
$somearray;
$variable = <<<END
Hello world foreach($somearray as $v){echo $v} //this does not work of course in my case.
END;
你的帮助将非常感激。 谢谢
的<<<END
& END;
与使用引号的代名词,用短短不到的\"
100倍。你不能在字符串中执行代码,你需要连接结果。
你想要做的基本上是这样的:
$variable = "foreach($somearray as $v) echo $v;";
当你真正最有可能想要这个:
$variable = "";
foreach ($somearray as $v) $variable .= $v;
的<<<
语法是一个多行字符串格式。块内的所有内容都是字符串的一部分。你不能在那里有任何PHP代码。
如果你需要在那里有一个循环块,你需要在<<<
块之前生成该字符串作为变量,并将其包含在字符串中。
$ins = '';
foreach($myarray as $val) {$ins .= "blah, {$val}, etc, ";}
$variable = <<<END
Hello world {$ins}
END;
(我还注意到,在你给的简单的例子,foreach()
可以很容易地使用implode()
)
您能不能告诉我们一个样本输出? –
Eugh。那太糟了。在创建字符串之前准备好您的数据。 '$ v = implode('',$ somearray); $ variable =“Hello world $ v”;' – Quentin