将PHP变量打印到JavaScript变量中

时间:2013-03-15 13:38:07

标签: php javascript

是的我知道这个问题被问了很多,但我对JS很新,我需要在一些JS中使用php变量。我更了解PHP是服务器端执行而JS是客户端,但其他人声称这是有效的。

我有一个名为“test1”的PHP变量,我想记录到JS控制台(例如):

 <?php
 $test1 = '1';

 print '
 <script type="text/javascript">
      var carnr;        
      carnr = "<?php print($test1); ?>"
      console.log(carnr);
 </script>';
 ?>

这样做是打印到JS控制台。不完全是我所希望的。

现在这可能甚至不可行,我可能不得不将该变量从页面传递出来并再次使用AJAX,但如果有可用的话,我宁愿有一个快速简便的解决方案!

感谢任何帮助。

6 个答案:

答案 0 :(得分:9)

你可以这样做。

<script>
    var JSvar = "<?= $phpVar ?>";
</script>

PHP将被解析,$ phpVar的值将成为JSvar的值。

确保正确编码phpVar。例如,如果phpVar包含双引号,那么你最终会破坏JS

答案 1 :(得分:5)

使用此无需提供“”=&gt;改为'。$ test1。'..

<?php
 $test1 = '1';

 print '
 <script type="text/javascript">
      var carnr;        
      carnr = "'.$test1.'"
      console.log(carnr);
 </script>';
 ?>

答案 2 :(得分:3)

<?php $test1 = '1'; ?>
<script type="text/javascript">
  var carnr;        
  carnr = "<?php print($test1); ?>"
  console.log(carnr);
</script>

通常情况下,最好不要使用php打印静态内容,而是直接在HTML中使用静态(不变),只在真正需要它的部分使用PHP。

答案 3 :(得分:1)

你犯了一个错误:

<?php
 $test1 = '1';

 echo '<script type="text/javascript"> var carnr; carnr = "'.$test1.'" console.log(carnr)</script>';
?>

答案 4 :(得分:0)

由于您使用PHP编写JS,因此您可以执行以下操作:

$test1 = "blah";

echo "<script type=\"text/javascript\">console.log($test1);</script>";

答案 5 :(得分:-2)

您已经处于打开的php标签中。打印行时,只需使用点将变量附加到输出。

示例:

print 'variable1 '.$variable1.' is now printed';