json_encode データから JSON へ
json_decode JSON から PHP 変数への変換
これら 2 つの PHP JSON 交換関数は、jquery や Ext フレームワークなどの Ajax を使用する場合に特に重要です。Ext によって受け入れられるデフォルトのデータは JSON 形式であり、 jqueryを使用するとJSONを接続できるようになり、より簡単かつシンプルになります。この記事では、例を使用して、jquery での PHP の JSON データ関数のアプリケーションについて説明します。
軽量の Ajax フレームワークとして、Jquery は確かに短くて簡潔であり、Web プログラミングのフロントエンド ページにより適しており、PHP との組み合わせにより適しています。 jquery のメソッドの 1 つは、$.getJSON です。これは、サーバー スクリプト ページから JSON 形式でデータを取得するために使用されます。順番に行きましょう。まず、json.php という名前の PHP スクリプトを作成します。具体的な手順は次のとおりです:
<ol class="dp-xml"> <li class="alt"><span><span> </span><span class="tag"><</span><span> ?php </span></span></li><li><span>//创建一个联合数组,这里我们尽量真<br />实的模拟了一个从数据库中读取的记录 </span></li><li class="alt"><span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">array</span><span>('name'=</span><span class="tag">></span><span>'dog','sex'=</span><span class="tag">><br></span><span>'f','par'=</span><span class="tag">></span><span>array('li','wang','lian')); </span></span></li> <li> <span>$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">array</span><span>('name'=</span><span class="tag">></span><span>'pig','sex'=</span><span class="tag">><br></span><span>'m','par'=</span><span class="tag">></span><span>array('liv','wange','liang')); </span> </li> <li class="alt"> <span>$</span><span class="attribute">array</span><span class="attribute-value">array</span><span> = array(</span><span class="attribute">0</span><span>=</span><span class="tag">></span><span>$a,</span><span class="attribute">1</span><span>=</span><span class="tag">></span><span>$b); </span> </li> <li><span>//将数组转化为一个json数据串 </span></li> <li class="alt"><span>echo json_encode($array); </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
フロントページの jquery コード:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> </span><span class="tag-name">script</span><span class="tag">></span><span> </span></span></li> <li><span>$(document).ready(function(){ </span></li> <li class="alt"><span>$.getJSON( </span></li> <li><span>'json.php', </span></li> <li class="alt"><span>function(data){ </span></li> <li> <span>var </span><span class="attribute">content</span><span>=</span><span class="attribute-value">""</span><span>; </span> </li> <li class="alt"> <span>for(var </span><span class="attribute">i</span><span>=</span><span class="attribute-value">0</span><span>;i</span><span class="tag"><</span><span class="tag-name">data.length</span><span>;i++)<br />{//循环读取后台的取得的JSON数据 </span></li><li><span>content+=data[i].name; </span></li><li class="alt"><span>var </span><span class="attribute">par</span><span>=</span><span class="attribute-value">"排挡:"</span><span>; </span></li><li><span>for(var </span><span class="attribute">j</span><span>=</span><span class="attribute-value">0</span><span>;j</span><span class="tag"><</span><span class="tag-name">data</span><span>[i].par.<br />length;j++){//循环读取数据中的par集合 </span></li><li class="alt"><span>par+=data[i].par[j]+"、"; </span></li><li><span>} </span></li><li class="alt"><span>content+=par+"</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">/></span><span>"; </span> </li> <li><span>} </span></li> <li class="alt"><span>alert(content); </span></li> <li><span>} </span></li> <li class="alt"><span>); </span></li> <li><span>}); </span></li> <li class="alt"> <span class="tag"><</span><span> /script</span><span class="tag">></span><span> </span> </li> </ol>
この例では、データを読み取るためにループするときに js for ループの基本的なプロセス制御を適用しますメソッド、jquery はそれぞれのトラバーサル メソッドも提供しています。興味のある方は、このメソッドについて自分で学習してください。基になる実装も for ループに基づいています。
注意: json_encode と json_decode の 2 つの PHP JSON 変換関数は、PHP5.2 以降でのみ使用できます。以前のバージョンよりも前に使用すると、関数が見つからないというエラーが報告されます。