php 配列を js 配列に変換する方法: 1. foreach ステートメントを使用して、構文 "foreach($arr as $value){//loop body code}" を使用して配列を走査します。 2ループ本体で、 json_encode() を渡すと、配列内の各値に対して json エンコードが実行されます。構文は "json_encode($value)" です。 3. スプライシング文字 "." を使用して、コンパイルされた各値の後にカンマを追加します。 4すべての値の外側に追加する 「[]」記号だけで十分です。
#この記事の動作環境: Windows 7 システム、PHP8、Dell G3 コンピューター。
JSON の使用法: PHP 配列を JS 配列に変換します。JS はどのように PHP 配列を受け取りますか。
まず、次のファイルをダウンロードします (これは、特に解析するために他の人が書いたセクションです) json コード)を取得して、このファイルをインポートします。
http://pan.baidu.com/s/1dD8qVr7
Ajax を使用してバックグラウンドと対話する必要がある場合、php 配列を js ファイルに転送してマージする方法js ファイルと一緒ですか? 識別しますか?
まず php ファイルを見てみましょう。$arr 配列を取得したら、
foreach ($arr as $value) { $json .= json_encode($value) . ','; } echo '[' . substr($json,0,strlen($json) - 1) . ']';
json_encode() で $arr の各値を json エンコードし、json を出力します。 array. , したがって、コンパイルされた各値の後にカンマを追加し、最後にすべての値の外側に '[]' を追加します。これが JSON 配列の形式です。各値が JSON エンコードされた後に を追加するため、コンマは最後に来ます。すべての値が配列にマージされると余分なカンマが発生するため、substr() 関数を使用して最後のカンマを削除する必要があります。
次に、js ファイルを見てみましょう
php ファイルによって送信された json 配列を arr を使用して受信する場合、
var json = JSON.parse(arr);
JSON がその 1 つですファイルで定義されたオブジェクトのダウンロードを開始します。その parse メソッドを使用して、json 配列を js 配列に変換します。これは js 配列を受け取る変数 json なので、直接出力することはできませんが、json 配列または json[0] をトラバースして出力できます。
実際、率直に言うと、php 配列を js 配列に変換するという私たちのアイデアは、それを実現するために中間量の json を使用することです。もちろん、php と js のみを使用して配列を変換することもできます。方法は複数あります。
PHP 配列と Json の間の変換
Json が使用される理由は、多くの場合、Ajax オブジェクトを使用する場合、プログラムとデータ間の相互作用が行われるためです。 JS関数。 JS は PHP の配列を認識しないため、PHP は JS 内の配列やオブジェクトを認識しません。 Json はこの問題を非常にうまく解決します。
Json の概要
JSON (JavaScript Object Notation) は軽量のデータ交換形式です。これは JavaScript のサブセットに基づいているため、JavaScript は Json を直接読み取ることができ、非常に便利です。
Json の具体的な形式は次のとおりです:
1. オブジェクト
オブジェクトは、「名前と値のペア」の順序付けされていないコレクションです。オブジェクトは「{」(左括弧) で始まり、「}」(右括弧) で終わります。各「名前」の後には「:」 (コロン) が続き、「名前と値」のペアは「,」 (カンマ) で区切られます。
例: {"username": "Eric","age":23,"sex": "man"}
コード例:
<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"]
コード例:
<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>
注: オブジェクトと配列の 2 つの形式は、呼び出されたときに異なります。 JSも同様で、オブジェクトは「.」で呼び出され、配列は添字[0]と[1]で呼び出されます。また、Json 文字列を渡すときは、文字列型の値を引用符で囲む必要があることにも注意してください。
PHP で配列を Json に変換する
強力な PHP には、json_encode() および json_decode() という組み込み関数が用意されています。 json_encode() が PHP 配列を Json に変換することを理解するのは簡単です。逆に、 json_decode() は Json を PHP 配列に変換します。
例:
$array = array("name" => "Eric","age" => 23); echo json_encode($array);
プログラムは次のように出力します:
コードは次のとおりです:
{"name":"Eric"," age":23}
次の例をもう一度見てください:
$array = array(0 => "Eric", 1 => 23); echo json_encode($array);
プログラムは次のように出力します: ["Eric",23]
上記の 2 つの例からわかるように、PHP の場合、配列のキーがすべて数値の場合、json_encode() は配列の形式で Json を返します。次に、 json_encode() はオブジェクトの形式で Json を返します。ただそれを言いました。 js での 2 つの呼び出しは異なります。
実際には、PHP 配列のキーに文字列形式のキーが存在する限り、 json_encode() はオブジェクトの形式で Json を返します。これは正しくありません。なぜなら、PHP コードではエラーは発生しませんが、そのような Json が JS 関数に渡されると、JS は Json をオブジェクトとして扱い、オブジェクトが属性名として数値を使用することは不可能だからです。言い換えれば、JS はこれが何であるかを知りません: user.0.username (中央は数字のゼロ)
[推奨事項: "PHP ビデオ チュートリアル "]
以上がPHP配列をJS配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。