<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[ECMall Ecmall二次开发 - PHP技术-]]></title> 
<link>http://www.laohucheng.com/index.php</link> 
<description><![CDATA[ECMall,ECMall二次开发,厦门PHP-ECShop二次开发,ECShop开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[ECMall Ecmall二次开发 - PHP技术-]]></copyright>
<item>
<link>http://www.laohucheng.com/post//</link>
<title><![CDATA[php操作json小结]]></title> 
<author>noel &lt;babysir@qq.com&gt;</author>
<category><![CDATA[程序 代码 源码]]></category>
<pubDate>Thu, 19 Mar 2009 02:02:34 +0000</pubDate> 
<guid>http://www.laohucheng.com/post//</guid> 
<description>
<![CDATA[ 
	php操作json小结<br/>Javascript 中可以用&#123;&#125;表示一个对象，用[]表示一个数组，如：<br/>var obj=&#123;&quot;a&quot;:&quot;v&quot;,&quot;b&quot;:&quot;x&quot;&#125;;//这表示变量obj是一个对象，它有两个属性：a和b,属性值分别是：v和x.<br/>var arr=[&quot;v&quot;,&quot;x&quot;];//这表示变量arr是一个数组，它有两一元素，索引分别是0和1，值分别是：v和x.<br/>JSON其实就是这两种格式混合在一起来表示数据的逻辑结构的格式，其实JSON就是Javascript中对象和数组的混合体<br/><br/>PHP提供的专门的函数来生成和解析JSON格式的数据，PHP解析出来的数据根原先Javascript的数据的意义一样，即Javascript对象解析成PHP对象，Javascript数组解析成PHP数组<br/>PHP生成JSON的函数是：json_encode($PHPcode);<br/>PHP解析JSON的函数是：json_decode($JSONcode);<br/><br/>所以JSON的形式有多种，不同的形式在PHP解释出来后的形式也是不同的。<br/>//形式1：完全是对象的形式,这种形式的数据在Javascript中又叫相关数组，与一般数组不同的是，它可以通过字符串作索引来访问(用“[]”或“.”来表示层级)<br/>$json=&#039;&#123;&quot;item1&quot;:&#123;&quot;item11&quot;:&#123;&quot;n&quot;:&quot;chenling&quot;,&quot;m&quot;:&quot;llll&quot;&#125;,&quot;sex&quot;:&quot;男&quot;,&quot;age&quot;:&quot;25&quot;&#125;,&quot;item2&quot;:&#123;&quot;item21&quot;:&quot;ling&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;24&quot;&#125;&#125;&#039;;<br/>$J=json_decode($json);<br/>print_r($J);<br/>将输出：<br/>stdClass Object<br/>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;[item1] =&gt; stdClass Object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[item11] =&gt; stdClass Object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[n] =&gt; chenling<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[m] =&gt; llll<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[sex] =&gt; 男<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[age] =&gt; 25<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;[item2] =&gt; stdClass Object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[item21] =&gt; ling<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[sex] =&gt; 女<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[age] =&gt; 24<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/>)<br/>比如说我要取得了值是chenling的那个属性，则应该这样访问：<br/>$J-&gt;item1-&gt;item11-&gt;n;//这将取得属性n的值：chenling<br/>其实这种访问形式跟访问普通的对象属性差不多，也相当于访问一个3维数组。<br/><br/>//形式2：对象和数组混合<br/>$json=&#039;&#123;&quot;item1&quot;:[&#123;&quot;name&quot;:[&#123;&quot;chen&quot;:&quot;chenling&quot;,&quot;ling&quot;:&quot;chenli&quot;&#125;],&quot;sex&quot;:&quot;男&quot;,&quot;age&quot;:&quot;25&quot;&#125;,&#123;&quot;name&quot;:&quot;sun&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;24&quot;&#125;]&#125;&#039;;<br/>$J=json_decode($json);<br/>print_r($J);<br/>将输出：<br/>stdClass Object<br/>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;[item1] =&gt; Array<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; stdClass Object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[name] =&gt; Array<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; stdClass Object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[chen] =&gt; chenling<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ling] =&gt; chenli<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[sex] =&gt; 男<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[age] =&gt; 25<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[1] =&gt; stdClass Object<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[name] =&gt; sun<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[sex] =&gt; 女<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[age] =&gt; 24<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>)<br/>比如说我要取得了值是chenling的那个元素，则应该这样访问：<br/>$J-&gt;item1[0]-&gt;name[0]-&gt;chen;//这将取得元素chen的值：chenling<br/>其实这种访问形式结合了对象和数组的访问方式，也相当于访问一个5维数组。<br/><br/><br/>//形式3：完全数组形式<br/>$json=&#039;[[&quot;item1&quot;,&quot;item11&quot;],[&quot;n&quot;,&quot;chenling&quot;],[&quot;m&quot;,&quot;llll&quot;]]&#039;;<br/>$J=json_decode($json);<br/>print_r($J);<br/>将输出：<br/>Array<br/>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; Array<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; item1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[1] =&gt; item11<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;[1] =&gt; Array<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; n<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[1] =&gt; chenling<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;[2] =&gt; Array<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; m<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[1] =&gt; llll<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br/>)<br/><br/>比如说我要取得了值是chenling的那个元素，则应该这样访问：<br/>$J[0][1];//这将取得元素值chenling的那个元素<br/>但是用这种方式有一个缺点，就是无法用字符串作为索引，只能用数字，用完全对象的形式可以解决这个问题<br/>其实这种访问形式就是数组的访问方式，相当于访问一个2维数组。<br/><br/><br/>小结：<br/>从上面的例子可以看出JSON有点类似XML，也可以在PHP和Javascript之间传递带结构的数据，使用起来很方便。<br/>需要注意的是每个属性和属性值都由引号&quot;&quot;包括起来。<br/> <br/><br/>Tags - <a href="http://www.laohucheng.com/tags/php%25E6%2593%258D%25E4%25BD%259Cjson%25E5%25B0%258F%25E7%25BB%2593/" rel="tag">php操作json小结</a>
]]>
</description>
</item><item>
<link>http://www.laohucheng.com/post//#blogcomment</link>
<title><![CDATA[[评论] php操作json小结]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.laohucheng.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>