Json が使用される理由は、多くの場合、ajax オブジェクトを使用するときのプログラムと JS 関数間のデータ対話のためです。 JS は PHP の配列を認識しないため、PHP は JS 内の配列やオブジェクトを認識しません。 Json はこの問題を非常にうまく解決します。
Json の紹介
JSON (JavaScript Object Notation) は軽量のデータ交換形式です。これは JavaScript のサブセットに基づいているため、JavaScript は Json を直接読み取ることができ、非常に便利です。
Json の具体的な形式は次のとおりです:
1. オブジェクト
オブジェクトは、「名前/値」ペアの順序付けされていないコレクションです。オブジェクトは「{」(左括弧) で始まり、「}」(右括弧) で終わります。各「名前」の後には「:」 (コロン) が続き、「名前と値」のペアは「,」 (カンマ) で区切られます。
例: {"username": "Eric","age":23,"sex": "man"}
コード例:
?View Code JAVASCRIPT
<script type="text/javascript"> function getUser() { var user = { "username": "Eric", "age":23, "family": {"mother":"Marry","father":"Alon","brother":"Tom"} }; alert( user.username ); alert( user.age ); alert(user.family.brother); } getUser(); </script>
2。配列は、順序付けられた値のコレクションです。配列は「[」 (左括弧) で始まり、「]」 (右括弧) で終わります。値を区切るには「,」(カンマ)を使用します。
例: ["Eric",23, "man"]
コード例:
?コードを見る PHP<script type="text/javascript"> function getArray() { var arr = ["Jarry",23, ["www.xiaophper.com","wxyh_999@126.com"]]; alert(arr[0]); alert(arr[1]); alert(arr[2][0]); alert(arr[2][1]); } getArray(); </script>
PHP で配列を Json に変換する
強力な PHP には、組み込み関数 json_encode() と json_decode() がすでに提供されています。 json_encode() が PHP 配列を Json に変換することを理解するのは簡単です。逆に、 json_decode() は Json を PHP 配列に変換します。
例:
View Code PHP$array = array("name" => "Eric","age" => 23); echo json_encode($array);
次の例をもう一度見てください:
?コード PHP を表示$array = array(0 => "Eric", 1 => 23); echo json_encode($array);
実際、PHP 配列のキーに文字列形式のキーが存在する限り、 json_encode() はオブジェクトの形式で Json を返します。これは正しくありません。なぜなら、PHP コードではエラーは発生しませんが、そのような Json が JS 関数に渡されると、JS は Json をオブジェクトとして扱い、オブジェクトが属性名として数値を使用することは不可能だからです。言い換えれば、JS はこれが何であるかを知りません: user.0.username (真ん中は数字のゼロです)
転載元: http://www.cnblogs.com/xmphoenix/archive/2011/05/26/ 2057963.html
上記では、PHP 配列と Json 間の変換について、関連する側面も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。