PHP では、組み込み関数 json_decode() 関数が関数として定義されています。その名前が示すように、これは標準テキスト形式オブジェクトへの JSON の変換、または JSON オブジェクトの PHP オブジェクトへのデコードを行う関数であり、この関数は JSON 文字列をパラメータとして受け取り、それを変換またはデコードし、JSON にあったエンコードされた値を返します。適切な PHP オブジェクトに変換します。 PHP は通常、このエンコードされた文字列を JSON 形式で特定の PHP オブジェクト データ型に変換するための、JavaScript 配列またはオブジェクト リテラルを表す JSON 文字列を受け取る関数を提供します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
この記事では、 json_decode() は、JSON 文字列を PHP オブジェクトに変換またはデコードするために PHP によって提供される組み込み関数です。 PHP では、json_decode()
関数は JSON 文字列をデコードし、それを PHP オブジェクトまたはデータ型に変換します。 JSON データをパラメータとして受け取り、対応する PHP 表現を返します。
以下のセクションでは、json_decode() 関数の構文と使用例を示します。
構文:
json_decode(json_string, asso_arr, recur_depth, opt<em>)</em>
パラメータ:
Json_string: このパラメータは、PHP オブジェクトに変換するために JSON エンコードされた文字列を指定するために必須です
次に、HTML 構造で PHP の json_decode() を使用する簡単な例を見てみましょう。
以下に例を示します:
コード:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '{ "CompayName": "Educba", "Director": "Snehal", "Employee": "Amardeep", "address": { "ColonyName": "Shivaji road", "city": "Baramati", "state": "Maharashtra", "postalCode": "1234567" }, "TelephoneNumbers": [ { "type": "Work", "phonenumber": "9876543210" } ] }'; var_dump(json_decode($json_string, true)); ?> </body> </html>
出力:
上記のプログラムでは、HTML 構造で PHP コードを記述していることがわかります。 「<」から始めます。 ?php」と入力してコードを記述し、最後にPHPコードの終了タグは「?」となります。 >」。 array(5) があります。これは、配列内に 5 つの要素があることを意味します。何も設定していないか、「var_dump(json_decode($json_string));」などの asso_arr パラメーターを渡していないとします。この値により、以下のスクリーンショットに示すように、配列内のオブジェクトのプロパティにアクセスできるようになります。
次に、無効な JSON 形式とこの文字列を json_decode() 関数に渡す例と、それによって発生するエラーと出力の例を見てみましょう。また、これらの配列を出力する方法についても説明します。これらの配列には、以下のセクションの「echo」関数を使用してアクセスできます。
以下のプログラムでは、echo 関数を使用して配列の要素にアクセスする方法を示します。
コード:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba", "Director": "Snehal", "phnumber": "89945954874" }, { "Companyname": "Google", "Director": "Ann", "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; ?> </body> </html>
出力:
上記のプログラムでは、json_string を宣言し、配列内のいずれかの要素にアクセスしたときを確認できます。どのプログラミング言語でも array[index] を使用します。同様に、echo 関数を使用して記述します。上記のコードでは、json_decode() 関数で asso_arr パラメータを渡していないことを確認する必要があるため、要素にアクセスするには、「echo $x[」と記述する必要があります。 0]->会社名;" 2 番目のパラメータを「true」に設定した場合は、「echo $x[0][‘Companyname’];」と記述する必要があります。
以下では、無効な JSON 文字列を関数に渡し、エラーも出力してみます。
コード:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba" "Director": "Snehal" "phnumber": "89945954874" "Companyname": "Google" "Director": "Ann" "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; echo json_last_error(); echo json_last_error_msg(); ?> </body> </html>
出力:
json_last_error() 関数と json_last_error_msg() 関数を使用して、「4 つの構文エラー」などのエラー情報を出力します。これらの関数は、上記の例で記述された PHP コードに関連するエラーの詳細を提供します。エラー関数を使用してエラー メッセージを出力したくない場合、出力は「null」となり、変換された PHP オブジェクトまたは JSON データ自体が無効であることを示します。
以上がPHP json_decodeの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。