Web 開発では、JSON (JavaScript Object Notation) が一般的に使用されるデータ交換形式です。 PHP では、json_decode() 関数を使用して、JSON 形式のデータを PHP 配列に簡単に変換できます。
json_decode() 関数を使用して JSON を PHP 配列に変換する
PHP で json_decode()
関数を使用して、JSON 形式のデータを配列に変換する構文この関数の対象:
mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
パラメータの説明:
以下は、JSON を PHP 配列に変換するサンプル コードです:
<?php // JSON字符串 $json_str = '{"name":"Tom", "age":18, "gender":"male"}'; // 将JSON字符串转换成PHP数组 $arr = json_decode($json_str, true); // 输出转换后的PHP数组 print_r($arr); ?>
出力結果は次のとおりです:
Array ( [name] => Tom [age] => 18 [gender] => male )
上記のコードでは、最初に JSON次に、json_decode()
関数を使用して JSON 文字列を PHP 配列に変換し、最後に print_r()
関数を使用して、変換された PHP 配列を出力します。
JSON を PHP 配列形式に変換する必要がなく、JSON オブジェクト形式のままにする場合は、json_decode()
関数の 2 番目のパラメーターを省略できます。サンプル コードは次のとおりです。
<?php // JSON字符串 $json_str = '{"name":"Tom", "age":18, "gender":"male"}'; // 将JSON字符串转换成JSON对象 $obj = json_decode($json_str); // 输出转换后的JSON对象 print_r($obj); ?>
出力結果は次のとおりです。
stdClass Object ( [name] => Tom [age] => 18 [gender] => male )
上記のコードでは、2 番目のパラメーターは json_decode()
関数に渡されていません。したがって、変換後の結果は配列ではなく、JSON オブジェクトの形式になります。
json_last_error() 関数を使用して JSON デコード エラーをチェックする
json_decode()
関数を使用して JSON をデコードする場合、JSON 文字列形式が正しくない場合、デコード処理中にエラーが発生する場合があります。現時点では、json_last_error()
関数を使用して JSON デコード エラーをチェックできます。この関数の構文は次のとおりです。
int json_last_error ( void )
JSON デコード エラーをチェックするサンプル コードを次に示します。
<?php // JSON字符串 $json_str = '{"name":"Tom", "age":"18", "gender":"male"}'; // 将JSON字符串转换成PHP数组 $arr = json_decode($json_str, true); // 检查解码是否出错 if (json_last_error() != JSON_ERROR_NONE) { echo 'JSON decode error: ' . json_last_error_msg(); } else { print_r($arr); } ?>
上記のコードでは、age
の値が属性は数値ではなく文字列であるため、JSON 文字列を PHP 配列に正しく変換できません。デコード プロセス中に、JSON デコード エラーがあることが判明したため、json_last_error_msg()
関数を通じてエラー メッセージが出力されました。出力結果は次のようになります。
JSON decode error: Malformed UTF-8 characters, possibly incorrectly encoded
まとめ
この記事では、PHP で json_decode()
関数を使用して JSON 形式のデータを PHP 配列に変換する方法と、その方法を紹介します。 json_last_error()
関数を使用して、JSON デコード エラーをチェックします。実際の開発では、データ交換に JSON 形式のデータを使用する必要があることが多いため、Web 開発者が JSON を PHP 配列に変換することに習熟することが非常に重要です。
以上がPHPでJSONを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。