如何在php中识别字符串?

时间:2013-10-11 19:17:01

标签: php string concatenation

当我输入:

<?php
  $temp="1234";
  echo "<script type='text/javascript'>document.write({$temp});</script>";
?>

我在屏幕上显示1234。

但是当我用$temp="1234"替换$temp="alfa"时,屏幕上什么都没有。

有什么问题?我哪里错了? “1234”和“alfa”都是字符串

2 个答案:

答案 0 :(得分:2)

alert(1234)是有效的javascript,只会弹出屏幕上的整数1234。 alert(alfa)正在尝试弹出屏幕上名为alfa的变量的内容,该变量不存在。

如果您将数据从PHP插入到Javascript上下文中,则必须使用json_encode()来确保您生成VALID javascript。 e.g。

$temp = 'alfa';
$json=  json_encode($temp);
echo '<script>.... {$json}...</script>';

将产生alert('alfa')并按预期工作。

答案 1 :(得分:0)

您没有将文本括在双引号字符“”中,表示字符串。

document.write(1234)有效,因为1234是JavaScript中的有效值(整数),而alfa是符号名称,应该是"alfa"

相关问题