当前位置:编程学习 > JS >>

怎样把 PHP 的一个数组传递给 javascript 的一个数组?

答案:这个问题我在广西程序元交流平台上看见过解决方案,我给你找找
其他:用  javascript  定义一个数组比如  list=new  array
(),在  php  中有一个数组  $a[],如果要把数组  $a[]的值传递给list  怎么办呢?
        <?php
        echo  "";
        echo  "list=new  Array();";
        for(i=0;i<count($a);i++)
        {  echo  "list[i]="  .  $a[$i];}
        echo  "";
        ?>
        以上代码只是表述一个思想,其实在  Asp、Jsp  中也同样可以借鉴使用。 直接把php数组输出就到js里了 用JSON嘛。 JSON + Ajax 可以用php直接输出数组  页面中加载 也可以用ajax的方式 输出成json xml等等 用ajax半年!!!!!!!!!!!!!! 你要的效果就是把php类型的数值转换成javascript类型的吧。
直接在javascript中包含php语句然后输出就可以了。
例子如下:
<?php
$phpparam = "12";
$phparr = array("a","b","c","d");
?>
<script type="text/javascript">
var jsparam = "<?php echo $phpparam;?>";
var jsarr = new Array();
var index = 0;
<?php
foreach($phparr as $x)
{
?>
 jsarr[index++] = "<?php echo $x;?>";
<?php
}
?>
alert(jsparam);
alert(jsarr);
</script>
这里,
$phpparam = "12";
$phparr = array("a","b","c","d");
分别是php基本变量和数组,都转成了js对象。其实基本的方法就是phpparam 转成jsparam 。
具体你要如何赋值,可以根据需要进行改动。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>第一php网提供的教程--向JS传递PHP数组</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"/></script>
<script language=javascript>
function show_php_arr(arr){
    var arr=eval(arr);
	alert(arr.key);
	alert(arr['key']);
	alert(arr[0]);
	alert(arr[1]);
	alert(arr[2]);
	alert(arr[3]);
	//alert(arr.0);
//从运行结果可以看出,对于非数字下标的数组元素可以用两种方式输出,而数字下标对应的元素只有一种输出方式
//将//alert(arr.0);前的注释打开,会发现代码无法运行
}
</script>
</head>
<body>
<?php
$arr=array('key'=>'king',1,2,3,'你好');
?>
<a href=javascript:show_php_arr(<?php echo json_encode($arr);?>)>向js传递php数组</a>

</body>
</html> 

上一个:求javaScript的分页,排序,绑定行事件的程序。
下一个:javascript document.body.innerHTML输出问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,