ホームページ  >  記事  >  バックエンド開発  >  連続しない数値キーを含む PHP 配列を JSON 配列としてエンコードするにはどうすればよいですか?

連続しない数値キーを含む PHP 配列を JSON 配列としてエンコードするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-21 12:21:10723ブラウズ

How to Encode a PHP Array with Non-Consecutive Numeric Keys as a JSON Array?

json_encode() を使用して PHP で数値配列からの JSON オブジェクト出力を解決する

PHP で json_encode() 関数を使用して数値キーを含む配列をエンコードすると、結果は次のようになります。多くの場合、配列文字列ではなく、キーを含むオブジェクト文字列が使用されます。これは、配列の配列形式を想定している場合に問題になる可能性があります。

問題の説明:

JavaScript では、配列には連続した数値キーが必要です。 json_encode() は、PHP 配列内のキーが連続した数字でない場合にオブジェクトを出力します。

解決策:

正規表現を使用せずにこの問題を解決するには、次の方法を利用できます。 array_values() 関数を使用して、元の配列キーを破棄し、0 から始まる連続番号に置き換えます。これにより、エンコードされた結果が配列文字列であることが保証されます。

例:

// Non-consecutive numeric keys in PHP array
$array = array(
    2 => array("Afghanistan", 32, 13),
    4 => array("Albania", 32, 12)
);

// Remove original keys with array_values()
$out = array_values($array);

// Encode the resulting array
$json = json_encode($out);

// Output: [["Afghanistan", 32, 13], ["Albania", 32, 12]]

array_values() を使用すると、JSON で目的の配列の配列形式を取得できます。また、連続しない数字キーを使用したオブジェクト形式は避けてください。

以上が連続しない数値キーを含む PHP 配列を JSON 配列としてエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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