这是最安全的方法:
<?php
$typeid = 65;
$subledgerid = 'subledger'.$typeid;
$loadledger = 'loadledgers';
?>
<script type="text/javascript">
view_subledger.apply(window, <?php print json_encode(array(
$typeid,
$subledgerid,
$loadledger
)); ?>);
</script>
生成以下代码:
<script type="text/javascript">
view_subledger.apply(window, [65,"subledger65","loadledgers"]);
</script>
json_encode() 将确保变量被正确转义,并且使用 .apply() 方法可以将参数数组传递给 JS 函数。
另一个建议的版本:
<?php
$typeid = 65;
$subledgerid = 'subledger'.$typeid;
$loadledger = 'loadledgers';
$param_str = implode(', ', array_map('json_encode', array(
$typeid,
$subledgerid,
$loadledger
)));
?>
<script type="text/javascript">
view_subledger(<?php print $param_str; ?>);
</script>
生成以下内容:
<script type="text/javascript">
view_subledger(65, "subledger65", "loadledgers");
</script>