如何将php数组的值传递给javascript数组?

我是从数据库得到|$arr数组,javascript有这样语句:
<script language='javascript'>
............ var 云南=Array("大理","昆明"); ........
</javascript>
现在我想把 "云南" 这个数组赋予 从数据库得到的 $arr数组,请明白人指点指点,我的财富不多,但是如果能帮我搞定,我会加分~~
先谢谢了

把对象数组转成JASON串,PHP收到后转化成JASON对象进行读取。
参考例子如下:
<script type="text/javascript" src="http://www.coding123.net/rardownload/20110420/20110420113851756.js"></script><!--倒入json.js文件,序列化json对象用的-->
<script type="text/javascript" src="http://www.coding123.net/js/jquery.js"></script>
<script type="text/javascript">
var zNodes =[
{ id:1, pId:0, name:"随意勾选 1", open:true},
{ id:11, pId:1, name:"随意勾选 1-1", open:true},
{ id:111, pId:11, name:"随意勾选 1-1-1"},
{ id:112, pId:11, name:"随意勾选 1-1-2"},
{ id:12, pId:1, name:"随意勾选 1-2", open:true},
{ id:121, pId:12, name:"随意勾选 1-2-1"},
{ id:122, pId:12, name:"随意勾选 1-2-2"},
{ id:2, pId:0, name:"随意勾选 2", checked:true, open:true},
{ id:21, pId:2, name:"随意勾选 2-1"},
{ id:22, pId:2, name:"随意勾选 2-2", open:true},
{ id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
{ id:222, pId:22, name:"随意勾选 2-2-2"},
{ id:23, pId:2, name:"随意勾选 2-3"}
];

$.ajax({
url:'xxxx.php'//改为你的动态页
,type:'POST'
,data:{zNodes:zNodes.toJSONString()}//调用json.js类库将json对象转换为对应的JSON结构字符串
,success:function(rst){alert('PHP接收JSON数据成功!');}
,error:function(xhr){alert('PHP页面有错误!'+xhr.responseText);}
}});
</script>

$zNodes=$_POST["zNodes"];
$json=json_decode($zNodes);//转化为JSON对象
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-30
不能直接传递,但是可以用js的ajax在页面加载的时候动态调用php数组值
或者把用php处理的数组值当字符串先赋值给html hidden控件,然后用js代码调用hidden的value
另外我觉得,如果你的这个数据不是经常改变的话,最好是用php生成一个.js文件,这个文件就定义这个数组,然后file一下,比较好追问

能给个具体事例吗?

追答

第一种:http://zhidao.baidu.com/question/144513438.html

第二种方法
http://zhidao.baidu.com/question/184686749.html
看下这个回答,其中有个“回答者: 陈学阳 ”的办法基本就是第二种
至于生成js数据文件,我这里没有现成的,就和用php生成php缓存文件是一个道理

本回答被提问者采纳
第2个回答  2015-04-16
在PHP端通过json_encode();将数组转化成JSON格式,
在html端javascript端获取有两种方式
第一种通过JSON控件将json数据返回成数组

第二种用eval()函数来解析JSON数据,两种都可以
第3个回答  2011-04-07
<?php
$arr = array("大理","昆明");
$json = json_encode($arr);
?>
<script>
var jsarr = <?php echo $json;?>;
alert(jsarr[0]);
</script>
第4个回答  2011-04-06
<script language='javascript'>
............ var 云南=<?php $arr ?>; ........
</javascript>

大概应该是这样吧。我记得ASP是可以这样的

php数组传送JS方法里面去 如何在JS里面遍历这个PHP数组?
代码如下: = <?php $arr = array('数学' => '98', '语文' => '103', '英语' => '108'); foreach($arr as $k => $v) { $sql = ,SYFmap

Smarty怎么将数组变量赋值给js
arr = array('A','B','C');smarty = new Smarty();smarty->assign('arr',$arr);smarty->display('test.html');

PHP可以返回数据给JS处理吗
直接转为js对象

关于php用json传递数组到js中
如果是JSONP 协议传递过去, 就可以直接使用;建议采用jquery+ajax模式来处理json, 哪怕是同步的, 调用起来也比直接 post\/get 来的方便.

js如何接收PHP数组
1.如果你理解JSON数据格式的话,这个问题就异常简单:<?php a =array('1','2','3');?> var obj =eval('<?php echo json_encode($a);?>');alert(obj[0]);alert(obj[1]);alert(obj[2]); 2.如果不懂JSON,采用传统的方法: var arr =new Array();<?php foreach(...

php 超链接里的参数如何传递数组
需要准备的材料分别是:电脑、php编辑器、浏览器。1、首先,打开php编辑器,新建php文件,例如:index.php。2、在index.php中,输入代码:var_dump($_GET['name']);。3、浏览器访问index.php?name[]=1&name[]=2,此时会打印出数组传递结果。

php传送二维数组给jq,以json格式的数据传
<?php header("Content-type: text\/json; charset=utf-8");arr = array(array('id"=>1,"name"=>"kkasfl"),array('id"=>2,"name"=>"f6dsaf6dfs6ds"));echo json_encode($arr);

请问PHP JQUERY之间如何传递数组?
;exit();jQuery接收到的东西就是function中的data,但是是个字符串,可以利用jQuery中的var data = JSON.parse(data)将字符串转换成对象(下面就是你说的遍历数组),然后写一个循环遍历出数组即可:for(var i=0;i<data.length;i++){alert(data[i].name(数组中的一个字段)} ...

如何将一个php页面的值传给另一个页面
第一种:GET(就是URL,也就是链接上带有参数),例子:1.php(第一个页面)传递get数组名为arr,值是abc,传递到2.php页面 看到?arr=abc了吧,这就是参数了,如果有两个呢:传递get数组名为abc,值是abc &用这个隔开,当然啦,在网页上看就是& 2.php(第二个页面)<?php echo $_GET['a...

PHP中怎样将数组中的数提交到数据库
如果你使用thinkphp框架,可以有直接的语法提交数组到数据库。或者可以考虑以下我编写的示例代码:<?php header('Content-type:text\/html;charset=utf-8');values = array('isbn'=>'0-672-31509-8','author'=>'王一','title'=>'php高级编程','price'=>58.00);sql = sprintf('INSERT INTO ...

相似回答