【发布时间】:2018-12-31 09:37:52
【问题描述】:
所以也许我只是脑子有问题,idk。但这似乎应该有效,但它没有。
意图
在整个页面中构建一个字符串,以便稍后在应用页面中使用。
问题
在使用字符串的结果值之前,我们如何以一种可以通过函数多次添加的方式存储字符串?有没有比使用变量更好的方法来使用函数?
一个无效的例子
<?php
$testNG = "";
function testNG($tng){
$testNG .= $tng;
return $testNG;
}
testNG("hello!!");
?>
<h2><?= $testNG; ?></h2>
与往常一样,感谢大家为使在线世界变得更加高效的贡献!
编辑
这样做的一个示例目的是允许将 Javascript 聚合到一个变量中,以便可以在它影响的元素附近创建它,然后放置在 </body> 之前的部分中
<div id="rating"></div>
<?php testNG("$('#rating').rating();"); ?>
<p>blah blah</p>
...
...
</footer>
<?php
if($testNG != ""): ?>
<script>
<?= $testNG; ?>
</script>
<?php endif; ?>
【问题讨论】:
-
听起来您需要一个对象或数组,而不是添加到字符串中。添加到字符串会使代码变得困难,因为一旦你想做一些特定的事情,你就必须把你的代码放在中间,或者任何地方,以使你的结果适合字符串。那是一种非常难闻的气味
-
如果你解释你真正的原因和代码,而不是一个没有意义的假的,也许我们可以建议更好的方式,或者至少是你想要的方式。实际上,您已经创建了一个可以执行您想要的功能:)
-
你会认为它做了我想要的,但是在测试文件中,变量没有被附加到。它仅保存函数之前的初始值。这就是为什么我觉得自己脑子有问题。
-
使用示例更新
-
啊,我明白了,你这么说,
$testNG没有定义在函数的范围内,只是在函数的范围之外。您可以在函数中创建一个全局变量(不是很好),通过引用传递,传入另一个参数 - 所以您要附加的 var 和要附加的值 - 或者只是将值附加到没有函数的 var 中。我认为这个功能是矫枉过正的。例如$theVar = ''; $theVar .= 'my new value'; $theVar .= 'another thing';
标签: php html function functional-programming