首页 >web前端 >js教程 >细说js,php对象数组的差别以及json的使用

细说js,php对象数组的差别以及json的使用

韦小宝
韦小宝原创
2018-03-12 17:01:242942浏览

在日常的开发中大家都知道js的对象和数组跟php的对象和数组都差不多,但是还是有不同点的,不了解js,php对象和数组差别在哪的同学可以一起来看看本篇文章,还有json数据的使用哦!废话不多说了,我们一起来看看吧!

JS对象结构:

创建一个对象:
方法一
var aaa = {
   firsetname:"liu",
   lastname:"xuan",
   class:four,
   down:function(){}
};
方法二 通过构造函数创建对象。
var aaaa = new Object();//object()就是js内置的一个构造函数,与new结合就可以创建一个新对象。
添加属性:aaaa.firstname = "liu";
        aaaa.lastname = "xuan";
获取对象操作:点访问发或中括号访问法

JS数组结构:

定义一个数组方法1 :var bbb = ["齐天大圣","猪八戒","沙僧","唐三藏"]
定义一个数组方法2  var ccc = new Array();
                ccc[0] = "孙悟空";
                ccc[1] = "如意金箍棒";

这里要记住js中的数组都是索引数组,数组是一种特殊的对象。

php对象:

php中类的实例就是对象。首先我们需要先定义一个类,然后将类实例化创造一个对象。

class qqq{
var $a;
var $b;
public function c(){}
}
$d = new qqq;
php对象的访问:通过符号"->"。

php数组:

创建数组有两种方式:
方式一
使用赋值方式定义数组:
$arr[]="PHP"//默认下标从0开时。0有值则看1有没有值
$arr[3]="c语言"
$arr["XINGMING"]="孙悟空"
方法二:通过array()函数。
$arr = array("id"=>1,"name"=>"悟空");//注意此时数组的写法。

PHP数组有2种:
索引数组:下标为整形
 关联数组: 下标为字符串
 通过中括号访问数组数据

js操作字符串

通过js中的JSON对象JSON_stringify/JSON_parse操作字符串。
JSON_stringify 将js对像转换成JSON字符串。
JSON_parse  将JSON字符串转换成js对象,这样我就访问对象中的属性和方法。

php操作字符串

json_encode 将php对象编码成json字符串的形式。
json_decode 将json字符串转换成对象或数组,为true转换成数组形式。

重要说明

1、php中,通过var_dump来打印数组或对象的效果,请看下面代码:

<?php 
$json = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;; 
var_dump(json_decode($json)); 
var_dump(json_decode($json, true)); 
?> 
效果如下:
object(stdClass)#1 (5) { 
["a"] => int(1) 
["b"] => int(2) 
["c"] => int(3) 
["d"] => int(4) 
["e"] => int(5) 
} 

array(5) { 
["a"] => int(1) 
["b"] => int(2) 
["c"] => int(3) 
["d"] => int(4) 
["e"] => int(5) 
} 
//有人可能会纠结除了显示的数据类型不同外,打印结果好像没有什么差别。其实数据的显示格式与打印成数组还是对象无关,只与var_dump这个函数本身有关,这个函数规定数组和对象的数据就通过这种方式打印。

2、json字符串的格式

JSON的正确格式为:$A = &#39;{"NAME":"LIUXUSJ"}&#39;;
如果写成$A = "{"NAME":"LIUXUNA"}"会显示错误。php或者js在识别代码的时候会从左至右依次解读,这样它会首先识别"{"而不是"NAME",所以最外围最好用单引号包裹。

3、单引号和双引号可以相互包裹。不过php中,单引号中的变量不会被解析,双引号中的变量才会被解析。

相关文章:

js 定义对象数组(结合)多维数组方法

JSON数据格式如何转换为PHP数组


以上是细说js,php对象数组的差别以及json的使用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn