ホームページ > バックエンド開発 > PHPの問題 > PHP配列をJS配列に変換する方法

PHP配列をJS配列に変換する方法

藏色散人
リリース: 2023-03-08 13:54:02
オリジナル
2944 人が閲覧しました

php 配列を js 配列に変換する方法: 1. foreach ステートメントを使用して、構文 "foreach($arr as $value){//loop body code}" を使用して配列を走査します。 2ループ本体で、 json_encode() を渡すと、配列内の各値に対して json エンコードが実行されます。構文は "json_encode($value)" です。 3. スプライシング文字 "." を使用して、コンパイルされた各値の後にカンマを追加します。 4すべての値の外側に追加する 「[]」記号だけで十分です。

PHP配列をJS配列に変換する方法

#この記事の動作環境: 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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート