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

yipeiwu_com6年前PHP代码库
本例是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>

相关文章

解析PHP函数array_flip()在重复数组元素删除中的作用

我们都知道,PHP中的数组元素删除的方式可以有很多种,经常用到的函数有php中array_unique()。那么我们今天为大家介绍的PHP函数array_flip()在删除数组重复元素时...

PHP获取数据库表中的数据插入新的表再原删除数据方法

1, 路由 我使用 get (1) 控制器 public function a(Request $request){ //获取指定的id $id = $reques...

php 解决扫描二维码下载跳转问题

php 解决扫描二维码下载跳转问题 首先我们指定一个url,比如 http://it.lovepet.vip 用这个地址生成二维码,二维码的生成方式有很多种,到网上搜搜就知道。 我们可...

PHP获取windows登录用户名的方法

前几天在问答区提了一下这个问题,所有回答问题的朋友都说不可能通过PHP实现,碰巧我的实习负责人帮我找到了一个方法,貌似是通过NTLM来实现的,我是新手,对具体原理也知之不详,只是自己测试...

提高PHP编程效率的53个要点(经验小结)

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:...