程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> JSON格式化與serialize序列化,jsonserialize

JSON格式化與serialize序列化,jsonserialize

編輯:關於PHP編程

JSON格式化與serialize序列化,jsonserialize


一、JSON格式化

1. JSON是什麼

JSON是一種數據的存儲格式,用來溝通客戶端Javascript和服務端PHP的交互。我們把用PHP生成JSON後的字符串傳給前台Javascript,Javascirpt就可以很容易的將其反JSON然後應用。

2. 如何使用JSON

PHP操作JSON可以使用json_encode()和json_decode()兩個函數——一個編碼,一個解碼。json_encode()可以將數組轉換成json格式的文本數據,方便存儲和讀取,而json_decode()可以直接將json數據轉換成數組,方便調用。

<?php
    $arr = array(
        'name'    ='劉璐',
        'nick'    ='璐小璐',
        'age'     ='26',``
        'contact' =array(
            'phone'   ='13718136109',
            'address' ='Beijing ifdoo'
        )
    );

    $str = json_encode($arr);
    echo "getProfile($str)";
?>

結果為:
{"name":"\u5218\u7490","nick":"\u7490\u5c0f\u7490","age":"26","contact":{"phone":"13718136109","address":"\u5317\u4eac \u5f97\u8c46"}}

3. JSON格式的數據與WEB前端JS完成異步交互過程

PHP使用json_encode()將數組轉換成json格式的數據後,此json字符串相當於JavaScript中的數組,賦給一個變量後,就可以對這個數組進行操作了。

<script type="text/javascript>
    var arr = {"name":"\u5218\u7490","nick":"\u7490\u5c0f\u7490","age":"26","contact":{"phone":"13718136109","address":"\u5317\u4eac \u5f97\u8c46"}};
    alert(arr.name);  
</script>  

4. 實例

index.html

<html>
<head>
    <title>json demo</title>
    <script type="text/javascript">
    function getProfile(str) {
        var arr = str;
        document.getElementById('nick').innerHTML = arr.nick;
    }
    </script>
</head>
<body>
    <div id="nick"></div>
</body>

<script type="text/javascript" src="./profile.php"></script>
</html>

profile.php

<?php
    $arr = array(
        'name'    => '劉璐',
        'nick'    => '璐小璐',
        'age'     => '26',
        'contact' => array(
            'phone'   => '13718136109',
            'address' => 'Beijing ifdoo'
        )
    );

    $str = json_encode($arr);
    echo "getProfile($str)";
?>
  • html頁面調用PHP文件

    <script language="text/javascript" src="/xx/a.php"></script>

    a.php中的echo輸出的是javascript代碼。

  • php頁面調用js文件

    a.php中的echo js裡的方法即可。

二、serialize序列化

1. serialize 是什麼

serialize是將變量序列化,返回一個具有變量類型和結構的字符串表達式。

2. 如何使用serialize

使用PHP的serialize和unserialize將數組進行序列化和反序列化。

<?php
    $arr = array( 
        "u1" => array( 
            "gameName" => "德乙", 
            "homeName" => "比勒費爾德", 
            "guestName" => "不倫瑞克", 
            "endTime" => "2015-08-21" 
        ), 
        "u2" => array( 
            "gameName" => "英超", 
            "homeName" => "水晶宮", 
            "guestName" => "阿斯頓維拉", 
            "endTime" => "2015-08-22" 
        ) 
    ); 
    echo serialize($arr);
?>

結果為:

a:2:{s:2:"u1";a:4:{s:8:"gameName";s:6:"德乙";s:8:"homeName";s:15:"比勒費爾德";s:9:"guestName";s:12:"不倫瑞克";s:7:"endTime";s:10:"2015-08-21";}s:2:"u2";a:4:{s:8:"gameName";s:6:"英超";s:8:"homeName";s:9:"水晶宮";s:9:"guestName";s:15:"阿斯頓維拉";s:7:"endTime";s:10:"2015-08-22";}}

其中:

a:2說明這是個有兩個元素的數組(array);
i:0指序列索引;
a:4指有4個字段;
s:8:"gameName"說明這是有8個字符的字符串(string)

總結: PHP的serialize將數組序列化後是便於存儲,而JSON格式的數據不僅便於存儲還能跟其他語言如javascript讀取。如果前後端交互使用比較多的話建議使用JSON,結合PHP、Javascript、JSON以及Ajax就可以完成強大的數據交互功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved