我有以下代码:
$boxId = 1;
$explainationBox='<input type="button" id="<?php echo $boxId; ?>" value="send" onmousedown="javascript:callthis(<?php echo $buttonId; ?>);" class="button" />';
echo $explainationBox;
我试图将这些值保存为php变量explainationBox中的html按钮。但它没有节省$ boxId的实际价值。它只是将它保存为$ boxId。因为boxId在for循环中并且将继续改变。我怎么能这样做?
答案 0 :(得分:2)
此标记已打开时,您不需要<?php
标记
试试这个
$boxId = 1;
$explainationBox='<input type="button" id="'.$boxId.'" value="send"
onmousedown="javascript:callthis('.$buttonId.');" class="button" />';
echo $explainationBox;
答案 1 :(得分:0)
不解析字符串中的PHP标记(除非给某些函数,例如eval()
)。
使用字符串连接。
改变这个......
"<?php echo $boxId; ?>"
...到...
"' . $boxId . '"
答案 2 :(得分:0)
你可能会发现在循环中进入和退出php环境很有用,所以你根本没有将该字符串保存为变量。
for($i=1; $i<10; $i++){?>
<input type="button" id="ID<?=$i?>" value="send"
onmousedown="javascript:callthis('<?=$i?>');" class="button" />
<?php } ?>
所以我们正在做的是在我们打开循环(?>
)时离开php环境然后我们给出一些原始html,它将被填入页面,如图所示,不需要变量。然后,当我们在php环境之外时,我们使用<?= $variable ?>
语法将php变量放入html语言。最后我们通过重新打开php标签(<?php
)重新进入php环境。
注意:最后?&gt;会再去你想重新退出php的地方。
答案 3 :(得分:0)
此代码正常运行: $ boxId = 1; $ explainationBox = ''; echo $ explainationBox;
除了:“javascript:callthis('。$ buttonId。');”呼叫。为了使整个代码在这里工作,对于那些正在寻找的人来说是一个解决方案:
$ boxId = 1; $ explainationBox = ''; echo $ explainationBox;