如何将PHP代码中的数据传递到JavaScript代码中使用
PHP 数据传递到 JavaScript 实现方案
先纠正你现有代码的两处错误
- PHP 侧数组赋值语法错误,你写的
<? $info = "500", "5", "222"; ?>不合法,定义数组需要用方括号[]或者array()包裹元素 - JS 侧的
$('info')是 jQuery 选择器语法,作用是查找页面上的<info>标签 DOM 元素,完全无法读取 PHP 变量值
标准实现方案
最安全通用的方式是用 PHP 内置的 json_encode() 函数输出,这个函数会自动把 PHP 数据类型转成对应的 JS 数据类型,同时自动处理特殊字符转义,不会出现 JS 语法错误或者 XSS 风险。
示例代码
<?php // 正确定义PHP数组 $info = ["500", "5", "222"]; ?> <script> // 直接输出json_encode处理后的内容到JS代码中 const names = <?php echo json_encode($info); ?>; // 测试输出,会得到 ["500", "5", "222"] 的JS数组 console.log(names); </script>
额外注意事项
- 如果需要在外部引入的 JS 文件中使用这个数据,需要在引入外部 JS 之前提前把数据挂载到全局作用域:
<?php $info = ["500", "5", "222"]; ?> <script> // 挂载到window对象上,全局可访问 window.phpPassData = <?php echo json_encode($info); ?>; </script> <!-- 后续引入的外部JS文件内直接使用 phpPassData 即可 --> <script src="./你的外部JS文件路径.js"></script>
- 不要手动拼接字符串输出 PHP 变量到 JS 中,很容易因为变量里存在引号、换行等特殊字符导致 JS 语法报错。
- 所有输出到前端的 PHP 数据对用户都是可见的,敏感数据不要用这种方式传递。
内容的提问来源于stack exchange,提问作者Doskinis
相关产品推荐
相关产品推荐

