WEB開発の過程ではjson形式のデータ交換を行うことが多く、phpはサーバーサイド言語の中でも最もポピュラーな言語の1つです。そのため、開発時にjson配列をphp配列に変換する必要があります。この記事では、json配列をphp配列に変換する方法を説明します。
1. json_decode() 関数を使用して json 配列を php 配列に変換する
json_decode() 関数は、json 文字列を php 変数に変換する PHP の組み込み関数です。この関数を使用すると、json 配列を php 配列に簡単に変換できます。
具体的な実装方法は次のとおりです:
$json = '[{"name":"apple","color":"red"},{"name":"banana","color":"yellow"}]'; $array = json_decode($json, true); print_r($array);
上記のコードでは、文字列を使用して json 配列を表し、それを変数 $json に割り当てます。次に、json_decode() 関数を使用して $json を php 配列に変換し、print_r() 関数を使用して配列を出力します。
出力結果は次のとおりです。
Array ( [0] => Array ( [name] => apple [color] => red ) [1] => Array ( [name] => banana [color] => yellow ) )
出力結果からわかるように、json 配列から php 配列への変換に成功しました。
2. json_decode() 変換失敗の処理
上記のコードでは、json_decode() 関数を使用して、json 配列を php 配列に変換します。ただし、json 文字列が適切にフォーマットされていない場合、または文字列が空の場合、 json_decode() 関数は null を返します。このとき、プログラム例外が発生しないように特別な処理を行う必要があります。
次のコードを使用して、json_decode() 変換が失敗する状況に対処できます:
$json = 'null'; $array = json_decode($json, true); if (is_null($array)) { echo 'json格式错误或为空'; } else { print_r($array); }
上記のコードでは、空の json 文字列を変数 $json に割り当てます。次に、json_decode() 関数を使用して $json を php 配列に変換します。次に is_null() 関数を使って変換結果を判定しますが、返された結果が null の場合は、json 形式が間違っているか空であることを意味します。このとき、エラーメッセージの出力にはecho文を使用し、それ以外の場合はprint_r()関数を使用して配列を出力します。
3. foreach() 関数を使用して php 配列を走査する
json 配列を php 配列に変換した後、多くの場合、php 配列を処理する必要があります。 PHP 配列は、foreach() 関数を使用して走査されることがよくあります。
以下は、foreach() 関数を使用して php 配列を走査する方法を示すサンプル コードです。
$json = '[{"name":"apple","color":"red"},{"name":"banana","color":"yellow"}]'; $array = json_decode($json, true); foreach ($array as $value) { echo $value['name'].'的颜色是'.$value['color'].'<br>'; }
上記のコードでは、foreach() 関数を使用して、 PHP配列。配列の各要素を $value 変数の値として使用し、echo ステートメントを使用して各要素の「name」と「color」の属性値を出力します。
出力結果は次のとおりです:
apple的颜色是red banana的颜色是yellow
4. php 配列を json 文字列に変換する
json 配列を php 配列に変換することに加えて、php を変換する必要があることがよくあります。配列をphp配列に変換し、配列をjson文字列に変換します。幸いなことに、PHP には、php 配列を json 文字列に変換できる json_encode() 関数が用意されています。
以下は、php 配列を json 文字列に変換する方法を示すサンプル コードです。
$array = array( array('name' => 'apple', 'color' => 'red'), array('name' => 'banana', 'color' => 'yellow') ); $json = json_encode($array); echo $json;
上記のコードでは、php 配列を使用してフルーツのリストを表しています。次に、 json_encode() 関数を使用して配列を json 文字列に変換し、それを変数 $json に割り当てます。最後に、echo ステートメントを使用して $json を出力します。
出力結果は以下のとおりです。
[{"name":"apple","color":"red"},{"name":"banana","color":"yellow"}]
出力結果からわかるように、php配列からjson文字列への変換に成功しました。
概要
この記事では、json 配列を php 配列に変換する方法を紹介し、json_decode() 変換が失敗する状況に対処し、foreach() 関数を使用して配列を走査する方法を示します。 php 配列; 最後に、php 配列を json 文字列に変換する方法についても説明しました。
以上がjson配列をphp配列に変換する方法を解説した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。