3

はい、私はこの質問がよく聞かれることを知っていますが、私はJSにかなり慣れていないので、いくつかのJSでphp変数を使用する必要があります。PHPはサーバー側で実行され、JSはクライアント側であることに気づいていますが、他の人はこれが機能すると主張しています。

JSコンソールに記録したい「test1」というPHP変数があります(たとえば):

 <?php
 $test1 = '1';

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

これは、JSコンソールに「」を出力します。正確には私が望んでいたものではありません。

今ではこれも実行できない可能性があり、変数をページから渡してAJAXで再度返す必要があるかもしれませんが、利用可能なものがあれば、迅速で簡単な解決策が必要です。

どんな助けでも大歓迎です。

4

6 に答える 6

12

あなたはこれを行うことができます。

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

PHPが解析され、$phpVarの値がJSvarの値になります。

phpVarを正しくエンコードしていることを確認してください。たとえば、phpVarに二重引用符が含まれている場合、JSが壊れてしまいます。

于 2013-03-15T13:43:45.287 に答える
7

これを使用して、「」=>「。$test1。」に変更する必要はありません。

<?php
 $test1 = '1';

 print '
 <script type="text/javascript">
      var carnr;        
      carnr = "'.$test1.'"
      console.log(carnr);
 </script>';
 ?>
于 2013-03-15T13:46:11.857 に答える
3

試す

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

一般に、静的なものをphpで印刷するのではなく、静的な(つまり変更されない)ものをHTMLで直接使用し、実際にそれを必要とする部分でのみPHPを使用することをお勧めします。

于 2013-03-15T13:42:19.820 に答える
1

あなたはそれを間違えました:

<?php
 $test1 = '1';

 echo '<script type="text/javascript"> var carnr; carnr = "'.$test1.'" console.log(carnr)</script>';
?>
于 2013-03-15T13:41:12.120 に答える
0

PHPを使用してJSを記述しているので、次のようにすることができます。

$test1 = "blah";

echo "<script type=\"text/javascript\">console.log($test1);</script>";
于 2013-03-15T13:41:30.900 に答える
-2

あなたはすでにオープンphpタグにいます。行を印刷するときは、ドットを使用して変数を出力に追加するだけです。

例:

print 'variable1 '.$variable1.' is now printed';
于 2013-03-15T13:43:08.653 に答える