ホームページ  >  記事  >  バックエンド開発  >  PHPでjsonを配列に変換する方法(3つの方法)

PHPでjsonを配列に変換する方法(3つの方法)

PHPz
PHPzオリジナル
2023-04-18 09:47:554198ブラウズ

Web アプリケーション、またはフロントエンドとバックエンドが分離されたアプリケーションを開発する場合、多くの場合、処理のために JSON データを配列に変換する必要があります。 JSON データの処理をサポートする言語として、PHP はこの要件を達成するための複数のメソッドを提供します。ここでは、一般的に使用される 3 つの方法とその使用シナリオを紹介します。

json_decode の使用

json_decode は、JSON 形式のデータを PHP の配列に変換するために使用できる PHP の組み込み関数の 1 つです。 json_decode の使用は非常に簡単で、解析する必要がある JSON 文字列を渡すだけです。

$jsonStr = '{"name": "Tom", "age": 20, "gender": "male"}';
$array = json_decode($jsonStr, true);

json_decode の 2 番目のパラメータは戻り値の型を指定します。ここで true に設定すると、配列型を返すことになります。 2 番目のパラメーターが渡されない場合は、stdClass オブジェクト型が返されます。 JSON が整形式でない場合は、NULL が返されます。

この方法は、JSON データ形式が単純でレベルが深くない状況に適していますが、JSON データが複雑でレベルが深い場合は、複数の foreach ループをネストして処理する必要があります。コードの読みやすさ、性別、効率に影響を与える配列。

PHP 拡張関数の使用

PHP には、json_decode と同じ機能を持ち、JSON 形式のデータを PHP 配列に変換するために使用される拡張関数 json_decode_array も提供されています。ただし、json_decode とは異なり、json_decode_array は戻り値の型を指定するために 2 番目のパラメーターを渡す必要はなく、配列の型を直接返します。

$jsonStr = '{"name": "Tom", "age": 20, "gender": "male"}';
$array = json_decode_array($jsonStr);

json_decode と比較すると、json_decode_array は C で記述されており、PHP コードよりも高速に処理できるため、パフォーマンスが高くなります。したがって、JSON 形式のデータを効率的に処理する必要がある場合は、json_decode_array を使用することが賢明な選択です。

ただし、json_decode_array は組み込み関数ではなく PHP の拡張関数であるため、使用するには対応する拡張ライブラリをインストールする必要があります。 Windows システムでは、php.ini の extension=php_json.dll のコメントを解除して拡張ライブラリを有効にできます。Linux システムでは、pecl コマンドを使用して拡張ライブラリをインストールできます。

Composer パッケージの使用

PHP 独自の関数と拡張機能に加えて、サードパーティのコンポーネントを使用して JSON を配列に変換する関数を実装することもできます。この記事で紹介する方法は、Composer を使用して、JsonMachine と呼ばれるサードパーティの JSON 処理ライブラリをインストールすることです。

// 安装 JsonMachine 库
composer require salsify/json-machine

$jsonStr = '{"name": "Tom", "age": 20, "gender": "male"}';

// 将 JSON 转化为数组
$array = json_machine($jsonStr);

JsonMachine が提供する json_machine 関数は、JSON 文字列、PHP オリジナル配列、stdClass オブジェクトなどを含むさまざまなパラメータ形式を受け取ることができ、その戻り結果はすべて PHP 配列型です。

JsonMachine は、メモリ使用量を削減し、コードのパフォーマンスを向上させるために、イテレータの形式で JSON データを返すこともサポートしています。

概要

PHP 組み込み関数 json_decode または拡張関数 json_decode_array を使用するか、サードパーティ ライブラリ JsonMachine を使用するかに関係なく、JSON を PHP 配列に変換するニーズを満たすことができます。 , 利用方法も比較的簡単です。独自のニーズに応じてさまざまな方法を選択し、最高のコード効率と可読性を実現できます。

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

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