PHP与javascript实现变量交互的示例代码

  本例是PHP和javascript交互的例子,php中的值赋给js变量中,前提是这个php变量必须有值才行,就算是假分支中。

  比如php中的$flags在本例中为true,如果js中false语句写成:$title_1.innerHTML = "<?php echo $title;?>";就会出错,因为$title在php中被赋值为数组

  尽管在php的flags=="false";$title是一个字符串,情况是$title是数组,而数组在字符串中也是不能直接显示的。

  

复制代码 代码如下:

  <?php

  $string = "天上and地下";

  $flags = "";

  if(strpbrk($string,"and")!=false){

  $title = explode("and",$string);

  $title_1 = $title[0];

  $title_2 = $title[1];

  $flags = "true";

  }

  else{

  $title = $string;

  $flags = "false";

  }

  ?>

  —>html

  

复制代码 代码如下:

  <html>

  <head>

  <meta http-equiv=Content-Type content="text/html;charset=utf-8">

  <title></title>

  <script type="text/javascript">

  var display = function(){

  var flags = "<?php echo $flags; ?>";

  var $title_1 = document.getElementById("title_1");

  var $title_2 = document.getElementById("title_2");

  if(flags=="true"){

  $title_1.innerHTML = "<?php echo $title[0];?>";

  $title_2.innerHTML = "<?php echo $title[1];?>";

  return;

  }

  if(flags=="false"){

  $title_1.innerHTML = "<?php echo $string;?>";

  //虽然这是一个假分支,照理这个$string可以替换成$title,但是虽然只是执行上边的真分支,但是编译的时候

  //这个假分支也是必须编译的,所以echo $title是错误的,因为$title是数组,只能是$string;

  }

  }

  </script>

  </head>

  <body onload="display()">

  <div id="title_1"></div>

  <div id="title_2"></div>

  </body>

  </html>