我的数据通常来自mysql,但这不是问题。我的问题是我希望能够在回声中调用几个函数。我什至不知道是否有可能。我对php几乎是新的,请提供任何帮助。
<?php
echo"
<div class='container'>
<select name='science'>
<?php science_facts(); ?>
</select>
</div>
";
?>
或
<?php
echo"
<div class='container'>
<select name='science'>
science_facts();
</select>
</div>
";
?>
两者都不起作用。
答案 0 :(得分:4)
您必须将字符串分解为静态和动态部分。有很多方法可以做到这一点,但是最常见的两种方法是使用多个echo语句:
echo "<div class='container'>";
echo "<select name='science'>";
echo science_facts(); // Note no quotes!
echo "</select>";
echo "</div>";
或使用.
字符串连接运算符动态连接字符串:
echo "<div class='container'>" .
"<select name='science'>" .
science_facts() .
"</select>" .
"</div>";
或者,一行相同:
echo "<div class='container'><select name='science'>" . science_facts() . "</select></div>";
或明确启动/停止PHP执行:
...
?>
<div class='container'>
<select name='science'>
<?php echo science_facts(); ?>
</select>
</div>
<?php
...
(注意:这假设您的science_facts()
函数返回其输出而不是回显它。)
答案 1 :(得分:0)
在我的例子中,将函数放入 echo 会导致在输入标签之前显示函数的结果(奇怪)。我的解决方案是结束回声功能而不是触发功能并继续回声。
不工作(在“输入”标签前显示函数结果):
echo '<input type="checkbox" class="custom-control-input" id="zabezpieczenie' . $idZabezpieczenia . '" name="zabezpieczenie' . $idZabezpieczenia . '" value="zabezpieczenie' . $idZabezpieczenia . '" onclick="dodaj_czynnosc(this.value, this.id)"'.checkChecked('zabezpieczenie' . $idZabezpieczenia).'>';
工作(在'input'标签内显示函数的结果):
echo '<input type="checkbox" class="custom-control-input" id="zabezpieczenie' . $idZabezpieczenia . '" name="zabezpieczenie' . $idZabezpieczenia . '" value="zabezpieczenie' . $idZabezpieczenia . '" onclick="dodaj_czynnosc(this.value, this.id)"';
checkChecked('zabezpieczenie' . $idZabezpieczenia); //displays checked
echo '>';