• 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数组结构:

    定义一个数组方法1var 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 = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
    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 = '{"NAME":"LIUXUSJ"}';
    如果写成$A = "{"NAME":"LIUXUNA"}"会显示错误。php或者js在识别代码的时候会从左至右依次解读,这样它会首先识别"{"而不是"NAME",所以最外围最好用单引号包裹。
    
    3、单引号和双引号可以相互包裹。不过php中,单引号中的变量不会被解析,双引号中的变量才会被解析。
    
  • 相关阅读:
    <%%>与<scriptrunat=server>,<%=%>与<%#%>的区别
    UVA 11134
    Codeforces Round #219 (Div. 1)(完全)
    Delphi版浏览器(持续更新)
    Spring3.0 入门进阶(三):基于XML方式的AOP使用
    UVa 10801 Lift Hopping / floyd
    poj 3501 Escape from Enemy Territory 二分+bfs
    vim 编辑器
    RRT路径规划算法(matlab实现)
    A*寻路算法C++简单实现
  • 原文地址:https://www.cnblogs.com/jiandanshishu/p/12953341.html
Copyright © 2020-2023  润新知