单引号或双引号的替代方案?

问题描述

这个例子:

$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>