问题描述
这个例子:
$var = '<?PHP
$_SESSION["a"] = 1;
echo "<script>console.log($_SESSION["a"]);</script>";
?>'
返回错误,因为它认为引号应该在 a 之前停止。如果我使用单引号,则 $var 会停在中间。是否有另一种替代方法可以用于将 $_SESSION["a"] 中的 'a' 包裹起来而不会导致错误?
解决方法
这是解决问题的另一种简单方法:
<?php
session_start();
function setSession($name,$data)
{
$_SESSION["$name"] = $data;
}
$var = setSession("a",1);
?>
<script>
console.log(<?php echo $var ?>);
</script>