<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post/4758/</link>
<title><![CDATA[[转载]PHP数组和Json之间的转换]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 28 Oct 2011 04:36:24 +0000</pubDate> 
<guid>http://jackxiang.com/post/4758/</guid> 
<description>
<![CDATA[ 
	之所以要用到Json，很多时候是因为使用ajax对象时，程序与JS函数之间的数据交互。因为JS不认识PHP中的数组，PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。<br/>Json简介<br/>JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集，这意味着JavaScript可以直接读取Json，非常方便。<br/><br/>Json的具体形式是：<br/>1.对象<br/>对象是一个无序的“‘名称/值’对”集合。一个对象以“&#123;”（左括号）开始，“&#125;”（右括号）结束。每个“名称”后跟一个“:”（冒号）；“‘名称/值’ 对”之间使用“,”（逗号）分隔。<br/><br/>例如： &#123;“username”: “Eric”,”age”:23,”sex”: “man”&#125;<br/>代码示例：<br/><br/><br/>&lt;script type=&quot;text/javascript&quot;&gt;&nbsp;&nbsp; function getUser()<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;&nbsp; user = &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&quot;username&quot;: &quot;Eric&quot;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&quot;age&quot;:23,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&quot;family&quot;: &#123;&quot;mother&quot;:&quot;Marry&quot;,&quot;father&quot;:&quot;Alon&quot;,&quot;brother&quot;:&quot;Tom&quot;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;;&nbsp;&nbsp; alert( user.username );&nbsp;&nbsp; alert( user.age );&nbsp;&nbsp; alert(user.family.brother);<br/>&#125;&nbsp;&nbsp; getUser();&nbsp;&nbsp; &lt;/script&gt;<br/><br/>2、数组<br/><br/>数组是值（value）的有序集合。一个数组以“[”（左中括号）开始，“]”（右中括号）结束。值之间使用“,”（逗号）分隔。<br/><br/>例如： [&quot;Eric&quot;,23, &quot;man&quot;]<br/><br/>代码示例:<br/>&lt;script type=&quot;text/javascript&quot;&gt;&nbsp;&nbsp; function getArray()&nbsp;&nbsp; &#123;&nbsp;&nbsp; var arr = [&quot;Jarry&quot;,23, [&quot;www.xiaophper.com&quot;,&quot;wxyh_999@126.com&quot;]];&nbsp;&nbsp; alert(arr[0]);&nbsp;&nbsp; alert(arr[1]);&nbsp;&nbsp; alert(arr[2][0]);&nbsp;&nbsp; alert(arr[2][1]);&nbsp;&nbsp; &#125;&nbsp;&nbsp; getArray();&nbsp;&nbsp; &lt;/script&gt;<br/><br/>注意：对象和数组两种形式在JS中的调用时不一样啊，对象用“.”调用，数组用下标[0]、[1]调用。还要注意在传递Json串时string类型的值要用引号括起来。<br/><br/>PHP中将数组转变成Json<br/>强大的PHP已经提供了内置函数：json_encode() 和 json_decode()。很容易理解，json_encode()就是将PHP数组转换成Json。相反，json_decode()就是将Json转换成PHP数组。<br/><br/>例如：<br/>$array = array(&quot;name&quot; =&gt; &quot;Eric&quot;,&quot;age&quot; =&gt; 23);&nbsp;&nbsp; echo json_encode($array);<br/><br/>程序将打印出 ：&nbsp;&nbsp;&#123;“name”:”Eric”,”age”:23&#125;<br/><br/>再看下面的例子：<br/>$array = array(0 =&gt; &quot;Eric&quot;, 1 =&gt; 23);&nbsp;&nbsp; echo json_encode($array);<br/><br/>程序将打印出 ：[&quot;Eric&quot;,23]<br/>以上两个例子可以看出，如果PHP数组的键都是数字，那么json_encode()返回一个数组形式的Json，如果PHP数组的键全是字符串。那么json_encode()就会返回一个对象形式的Json。刚已经说过。两者在js中的调用是不同的。<br/>事实上，只要在PHP数组的键中有一个字符串形式的键，那么json_encode()就会返回对象形式的Json。这是不正确的。因为，虽然在PHP代码中不会出现错误，但要是将这样的Json传给JS函数，JS会将此Json当做一个对象，而对象是不可能以数字作为属性名的。也就是说JS 不知道这是什么 ： user.0.username&nbsp;&nbsp;(中间是数字零)<br/><br/>来源：www.cnblogs.com/xmphoenix/archive/2011/05/26/2057963.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4758/#blogcomment63376</link>
<title><![CDATA[[评论] [转载]PHP数组和Json之间的转换]]></title> 
<author>bokig773 &lt;fsadfasdfasfa@163.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 20 Nov 2011 06:24:39 +0000</pubDate> 
<guid>http://jackxiang.com/post/4758/#blogcomment63376</guid> 
<description>
<![CDATA[ 
	我顶啊。接着顶
]]>
</description>
</item>
</channel>
</rss>