ホームページ > バックエンド開発 > PHPチュートリアル > PHP は json_encode を使用して変数 json_PHP チュートリアルをエンコードします

PHP は json_encode を使用して変数 json_PHP チュートリアルをエンコードします

WBOY
リリース: 2016-07-13 10:34:31
オリジナル
951 人が閲覧しました

この記事では、json_encode を使用する際に注意する必要がある内容を主に説明します。フロントエンドが配列を必要とする場合、それが配列であっても、json が返されるとしても、これは必ずしも間違った結果であるという意味ではありません。配列はその逆の正しい結果になります

ajax が蔓延している今日の世界では、当然のことながら、json はフロントエンドとバックエンドの相互作用のための非常に重要なツールとなっています。 PHP の場合、通常、PHP グループ番号をフロントエンドで解析できる JSON 文字列に変換するために json_encode メソッドが使用されます。これは PHP マニュアルにも記載されていますが、これは事実ですか?以下のコードを見てください:

コードは次のとおりです:

$a = array( 'ジャック' , 'サム' , 'トム' );

echo json_encode( $a );

JavaScriptが上記のコードをリクエストすると、PHPは配列$aをjson文字列に解析してフロントエンドに返しますが、実際にはフロントエンドで得られる戻り結果は配列です。

コードは次のとおりです:

[ "ジャック" 、 "サム" 、 "トム" ]

この結果はフロントエンドで期待されるものではない可能性があります。JavaScript の場合、配列と json の関係は非常に密接であり、json は単純に連想配列として理解することもできますが、これは 2 つが同等であることを意味するものではありません。 . たとえば、json には長さ属性がなく、数値インデックスを付けることはできません。json はキーと値のペアであり、厳密に言えば JavaScript 配列には「キー」がありません。これは PHP とはまったく異なります。では、なぜ json_encode の戻り結果が配列になるのでしょうか?

この記事の冒頭にある PHP コードの配列は、厳密な意味では数値インデックス配列です。このような配列を処理する場合、json_encode メソッドは配列文字列を返します。次の 2 つの条件を同時に満たす必要があります。数値インデックス配列、2。インデックス値は 0 から始まります。これは、次のコードも同じ結果を返すことを意味します:

コードは次のとおりです:

$b = 配列(

'0' => 'ジャック',

'1' => 'サム'、

「2」=>「トム」

);

echo json_encode( $b );

これら 2 つの条件のいずれかが満たされない場合、json_encode メソッドは実際に json 文字列を返します:

コードは次のとおりです:

$c = 配列(

'person-1' => 'ジャック',

'person-2' => 'サム'、

'person-3' => 'トム'

);

echo json_encode( $c );

フロントエンドによって取得された結果は次のとおりです:

コードは次のとおりです:

{

'person-1' : 'ジャック'、

'person-2' : 'サム'、

'person-3' : 'トム'

};

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/750626.html技術記事この記事では、json_encode を使用する際に注意する必要がある内容を主に説明します。配列であっても、json が返されたとしても、現在のエンドは...
する必要があります。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート