ホームページ >バックエンド開発 >PHPチュートリアル >キーが連続していない配列の JSON シリアル化を確実に行うにはどうすればよいですか?

キーが連続していない配列の JSON シリアル化を確実に行うにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-11 06:03:031049ブラウズ

How to Ensure JSON Serialization of Arrays with Non-Consecutive Keys?

JSON シリアル化のための配列キーの変更

json_encode() 関数を使用すると、数値キーを持つ配列を配列ではなくオブジェクトとしてシリアル化できます。 、望ましくない出力につながります。これは、配列キーが連続していない場合に発生します。

正規表現に頼らずにこの問題に対処するには、最も外側の配列構造で array_values() を利用することを検討してください。 array_values($array) を呼び出すことで、元の配列キーを破棄し、0 から始まる連続した数値に置き換えることができます。

例:

$array = [
    2 => ["Afghanistan", 32, 13],
    4 => ["Albania", 32, 12]
];

$output = array_values($array);

echo json_encode($output); // [[["Afghanistan", 32, 13], ["Albania", 32, 12]]]

この変更シリアル化された JSON 出力が希望どおりに配列の配列であることが保証されます:

[["Afghanistan", 32, 13], ["Albania", 32, 12]]

以上がキーが連続していない配列の JSON シリアル化を確実に行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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