ホームページ >php教程 >php手册 >PHPのjson_encode値の中括弧と中括弧の違い

PHPのjson_encode値の中括弧と中括弧の違い

WBOY
WBOYオリジナル
2016-06-13 12:48:03758ブラウズ

1. arrayが0から始まる連続配列の場合、json_encodeの結果は[]で囲まれた文字列となります。

配列が0から始まらない配列や連続していない配列の場合、json_encodeの結果は{}で囲まれたkey-valueパターンの文字列となります

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

$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
echo json_encode($test);

結果:

[1,1,1]

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

$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
unset($test[0]);
echo json_encode($test);

結果:

{"1":1,"2":1}

2. 文字列がパターン [1,1,1] にある場合、json_decode によって解析された結果はデフォルトで配列になります。

文字列がパターン {"1":1,"2":1} にある場合、json_decode によって解析された結果はデフォルトでオブジェクトになります。この時点で、2 番目のパラメーターを true に設定して強制的にオブジェクトにすることができます。配列を返す

3. 上記の状況は、JSON エンコードを使用する場合は 2 番目のパラメーターを true に設定することが推奨されるため、PHP が 1 次元配列と 2 次元配列を区別できないために発生します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。