很多站长朋友们都不太清楚php数组js对象,今天小编就来给大家整理php数组js对象,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php和js关于数组比较的区别 2、 PHP 如何读取Javascript 对象的值? 3、 php如何接收js传来的json对象 4、 如何将php数组的值传递给javascript数组? php和js关于数组比较的区别具体的概念区别你可以查看php帮助手册,我说下个人的理解:
通常来说,array是数组,而object是对象,两者有很大的区别,最主要的区别我觉得对象一般要定义行为,其目的是为了封装,而数组主要定义数据结构。
但这两种在php语言里区别比较模糊,因为php是支持范数据类型,所以array可以是object,反之亦然。
PHP 如何读取Javascript 对象的值?呵呵,这个问题我刚刚遇到过,也解决掉了,正好回答你。
Javascript端:
var data = {
"name":'aaa',
"birthday":'2011-1-1'
};
var url ="run.php?data="+data;
url = url.replace(//,"%%8%%"); //简单处理符号的get传递问题;如果传参时有数字,则尽量避免或更换替换字符串。
url = url.replace(/\?/,"%%7%%"); //简单处理?符号的get传递问题;
//js程序到了这里,会把问号、and符号都转换为特定字符。
PHP端:
$data = $_REQUEST['data'];//这里最好不要使用$_REQUEST,涉及网站安全问题。
$data = str_replace('%%8%%','',$data);//替换回原有的连接符
$data = str_replace('%%7%%','?',$data);
到这里,就又回来了!
只是经过了一个字符替换的过程,当然,你也可以采取编码的方式传输,最经典的是有一个js编码方法,然后由PHP的urlencode()函数解码,不过这种我没有使用,在js上来说,比较复杂了一些,如果你传输的数据不是太特殊,我介绍的方案已经足够使用了。
————
php如何接收js传来的json对象你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!
你发的代码里是json的解析,没有多大意义,你在php页面这样调试
var_dump($_REQUEST);//输出所有数据,如果存在的话,你会看到那个参数是啥
另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.
php的数组操作函数有主要的两个json_encode()与json_decode();
从你的代码中,我不确定你用何种方式通信,ajax?
我看你用到了jQuery,那里面有个ajax,方式类似这样的:
$.ajax({
type: "post", //method;can be get with post or request
url: "/mySever.php",//php url
error: function(){alert('Error');},
data: {
data1: name,
data2: age,
},
datatype:"json",//json back
timeout: 5000,
success: function(msg)
{
//eval(msg);//parase here
}
});
return false;
}
如何将php数组的值传递给javascript数组?把对象数组转成JASON串,PHP收到后转化成JASON对象进行读取。
参考例子如下:
<script type="text/javascript" src=""></script><!--倒入json.js文件,序列化json对象用的-->
<script type="text/javascript" src=""></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对象
关于php数组js对象的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php数组js对象 php 数组 对象的详细内容...