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

jsonオブジェクトをPHP配列に変換する方法

PHPz
リリース: 2023-04-17 13:50:13
オリジナル
552 人が閲覧しました

json は軽量のデータ交換形式であり、ますます人気が高まっています。 PHP は、Web 開発に最適な優れたサーバーサイド プログラミング言語です。したがって、json オブジェクトを PHP 配列に変換することは、非常に便利なスキルです。この記事では、json オブジェクトを PHP 配列に変換する方法を学びます。

  1. json_decode() 関数

PHP の json_decode() 関数は、json 形式の文字列を PHP 変数 (配列またはオブジェクト) に変換する主な方法です。構文は次のとおりです。

mixed json_decode(string $json[, bool $assoc = FALSE[, int $depth = 512[, int $options = 0]]])
ログイン後にコピー

パラメータの説明:

  • json: json 文字列。
  • assoc: json オブジェクトを連想配列に変換するかどうかを示すブール値。
  • Depth: 最大深度を示す整数型。デフォルトでは、最大深さは 512 で、定数 JSON_DEPTH を使用して定義できます。
  • オプション: デコードプロセスをより詳細に制御するためのオプション。次の定数を組み合わせて使用​​できます:
Constant Description
JSON_BIGINT_AS_STRING PHP 5.4.0 以降で利用可能。 PHP_INT_MAX より大きい整数を文字列に変換します。
JSON_INVALID_UTF8_IGNORE
JSON_INVALID_UTF8_SUBSTITUTE
PHP 5.3.3 以降で使用できます。 JSON_INVALID_UTF8_IGNORE このオプションは、不正な UTF-8 文字を無視します。 JSON_INVALID_UTF8_SUBSTITUTE このオプションは、不正な UTF-8 文字を Unicode 置換文字に置き換えます。
JSON_OBJECT_AS_ARRAY json オブジェクトを連想配列に変換します。
JSON_THROW_ON_ERROR PHP 7.3.0 以降で使用できます。この定数は、FALSE を返す代わりに例外を自動的にスローするために使用されます。

例:

次は JSON 文字列です:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}
ログイン後にコピー

Use json_decode () 関数はそれを連想配列に変換します:

$json = '{"name":"John Doe","age":30,"city":"New York"}';
$arr = json_decode($json, true);

print_r($arr);
ログイン後にコピー

出力:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
ログイン後にコピー
ログイン後にコピー
  1. json_decode() 関数の使用上の注意
# #json_decode() は、UTF-8 でエンコードされたデータのみを処理できます。
  • json_decode() は、文字列、数値、配列、オブジェクトなど、PHP で使用されるデータ型のみをサポートします。
  • json_decode() は、リソースやコールバック関数などの特殊なデータ型をサポートしません。
  • json_decode() は、二重引用符で囲まれた JSON 文字列のみをサポートします。一重引用符や引用符で囲まれていないキー名は使用しないでください。
  • json_encode() 関数に指定する場合は、定数
  • JSON_UNESCAPED_UNICODE
  • を使用して、非 ASCII 文字が確実にエスケープされるようにします。
  1. これは、JSON 文字列を PHP 配列に変換する完全な例です:
<?php
// 1. 定义 json 格式的字符串
$json = &#39;{"name":"John Doe","age":30,"city":"New York"}&#39;;

// 2. 将 json 格式的字符串转换为 PHP 数组
$arr = json_decode($json, true);

// 3. 输出转换后的数组
print_r($arr);
?>
ログイン後にコピー

出力:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
ログイン後にコピー
ログイン後にコピー

結論
  1. 上で述べたように、 json_decode() 関数を使用して json オブジェクトを PHP 配列に変換できます。この手法は Web 開発で非常に役立ち、AJAX 呼び出しからの JSON データを解析するのに役立ちます。

以上がjsonオブジェクトをPHP配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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