Web 開発では、JSON (JavaScript Object Notation) が一般的に使用されるデータ形式になっています。理解と解析が簡単です。データの送信と保存に JSON を使用するプログラマーも増えています。
PHP 開発では、配列を JSON 形式に変換する必要がある場合があります。これには、PHP の組み込み関数 json_encode
を使用する必要があります。ただし、複雑な配列を変換する必要がある場合があります。このとき、配列を結合し、結合した結果を JSON 形式に変換する必要があります。PHP で配列を JSON 形式に変換する方法を詳しく紹介します。
まず、多次元配列を 1 次元配列に変換する機能を実現するために、配列を結合する必要があります。この問題は再帰的に解決できます。具体的な実装は次のとおりです:
function array_flatten($array) { $result = array(); foreach($array as $value) { if(is_array($value)) { $result = array_merge($result, array_flatten($value)); } else { $result[] = $value; } } return $result; }
上記のコードは、再帰的メソッドを使用して配列を 1 次元配列に変換します。 # #現在の値がまだ配列であるかどうかを確認します。配列である場合は、再帰処理を続行します。そうでない場合は、要素を $result
配列に追加します。 2. JSON 形式に変換
関数を直接使用できます。具体的な実装は次のとおりです: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">function array_to_json($array) {
$array = array_flatten($array);
$json = json_encode($array, JSON_UNESCAPED_UNICODE);
return $json;
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、
converts多次元配列を Dimension 配列に変換します。 json_encode($array, JSON_UNESCAPED_UNICODE)
配列を JSON 形式に変換します。 JSON_UNESCAPED_UNICODE
は、Unicode エンコードが必要ないことを意味し、それにより中国語の文字が保持されます。 。 3. 完全な例
function array_flatten($array) { $result = array(); foreach($array as $value) { if(is_array($value)) { $result = array_merge($result, array_flatten($value)); } else { $result[] = $value; } } return $result; } function array_to_json($array) { $array = array_flatten($array); $json = json_encode($array, JSON_UNESCAPED_UNICODE); return $json; } $array = array( array('name' => '张三', 'age' => 20, 'sex' => '男'), array('name' => '李四', 'age' => 25, 'sex' => '女'), array('name' => '王五', 'age' => 30, 'sex' => '男', 'children' => array('儿子', '女儿')), ); echo array_to_json($array);
上記のコードの出力結果は次のとおりです:
[ "张三", 20, "男", "李四", 25, "女", "王五", 30, "男", "儿子", "女儿" ]
ご覧のとおり、多次元配列を 1 次元配列に変換し、それを JSON に変換しました。フォーマット。
4. 概要
関数を使用して配列を JSON 形式に変換する方法についても説明しました。 もちろん、実際の開発では、サードパーティのライブラリを使用して配列を JSON 形式に変換することもできます。たとえば、
フレームワークの response()->json()
関数は、配列を JSON 形式に直接変換して出力できるため、より簡単かつ高速です。
以上がPHPを使用して配列をJSONに変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。