PHP与javascript实现变量交互的示例代码
程序员文章站
2023-11-30 15:31:16
本例是php和javascript交互的例子,php中的值赋给js变量中,前提是这个php变量必须有值才行,就算是假分支中。比如php中的$flags在本例中为true,如...
本例是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中的$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实现根据浏览器跳转不同语言页面代码