PHP が json を配列に変換する方法 (3 つの方法) について説明します。

PHPz
リリース: 2023-04-03 16:40:01
オリジナル
968 人が閲覧しました

PHP は、JSON を配列に変換して、データの処理と管理をよりシンプルかつ効率的にできる、一般的に使用されるプログラミング言語です。ここでは、開発者がこの操作を迅速に実装するのに役立ついくつかの方法とテクニックを紹介します。

  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: ( can オプション) デフォルトは false で、stdClass オブジェクトが返されることを意味します。true に設定すると、配列が返されます。
  • $ Depth: (オプション) 再帰の最大の深さを示します。 、デフォルトは 512 Layer;
  • $options: (オプション) デコード時にオプションを設定します。一般的なものは JSON_BIGINT_AS_STRING (大きな数値を文字列型に変換します)、 JSON_OBJECT_AS_ARRAY (stdClass オブジェクトを配列に変換) など。

例:

$json_str = '{"name":"Jack","age":30,"city":"Beijing"}';
$arr = json_decode($json_str, true);
print_r($arr);
ログイン後にコピー

出力結果は次のとおりです:

Array (
    [name] => Jack
    [age] => 30
    [city] => Beijing
)
ログイン後にコピー
  1. Use json_decode() function file_get_contents() function

JSON 文字列を配列に変換できるだけでなく、ファイルから JSON データを読み取り、それを配列に変換することもできます。このとき、file_get_contents() 関数を使用して JSON ファイルの内容を読み取り、前述の json_decode() 関数を使用して変換を実現できます。

例:

$json_file = 'data.json';
$json_str = file_get_contents($json_file);
$arr = json_decode($json_str, true);
print_r($arr);
ログイン後にコピー
  1. json_decode() 関数のカール ライブラリを使用します

JSON データがローカル ファイルになく、送信される場合ネットワーク経由で、現時点では、curl ライブラリを使用して JSON データを取得し、json_decode() 関数を使用して変換を実装できます。

例:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.example.com/data.json');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);

$arr = json_decode($result, true);
print_r($arr);
ログイン後にコピー

上記のコードは、curl ライブラリを使用して https://api.example.com/data.json インターフェイスをリクエストし、返されたデータを変換します。 JSONデータを配列として出力します。

概要

この記事では、JSON データを PHP 配列に変換する 3 つの方法を紹介しますが、それぞれに長所と短所があり、開発者は実際の状況に応じて適切な方法を選択できます。 json_decode() 関数を使用する場合は、エラーを避けるために、デコード オプション、再帰の深さ、返されるデータ型、その他の問題にも注意する必要があります。これらのスキルを習得することで、PHP開発者の作業効率は大幅に向上すると思います。

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

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