ホームページ > バックエンド開発 > PHPの問題 > PHPでJSONを配列に変換する方法

PHPでJSONを配列に変換する方法

藏色散人
リリース: 2023-03-14 21:48:02
オリジナル
9298 人が閲覧しました

php で json を配列に変換するメソッド: 1. PHP サンプル ファイルを作成します; 2. JSON データを定義します; 3. "json_decode($json,true)" メソッドを通じて json を配列に変換します。

PHPでJSONを配列に変換する方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

php はどのように json を実装しますか? to array?

json_decode()

この関数は、json テキストを対応する PHP データ構造に変換するために使用されます。

以下は例です:

$json ='{"foo": 12345}';
 
$obj = json_decode($json);
 
print $obj->{'foo'};// 12345
ログイン後にコピー

通常、json_decode() は常に配列ではなく PHP オブジェクトを返します。例:

$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}';
 
var_dump(json_decode($json));
ログイン後にコピー

その結果、PHP オブジェクトが生成されます:

object(stdClass)#1 (5) {
 
  ["a"] => int(1)
  ["b"] => int(2)
  ["c"] => int(3)
  ["d"] => int(4)
  ["e"] => int(5)
 
}
ログイン後にコピー

PHP 連想配列の生成を強制したい場合は、json_decode() にパラメーター true を追加する必要があります:

$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}';
  
var_dump(json_decode($json,true));
ログイン後にコピー

結果は、「連想配列が生成されます:

array(5) {
 
   ["a"] => int(1)
   ["b"] => int(2)
   ["c"] => int(3)
   ["d"] => int(4)
   ["e"] => int(5)
}
ログイン後にコピー

次の 3 つの json の書き方はすべて間違っています。どこにエラーがあるかわかりますか?」

json_decode() のよくある間違い

$bad_json ="{ 'bar': 'baz' }";
 
$bad_json ='{ bar: "baz" }';
 
$bad_json ='{ "bar": "baz", }';
ログイン後にコピー

最初の間違いは、json 区切り文字 (デリミタ) では一重引用符ではなく二重引用符のみが使用できることです。 2 番目の間違いは、JSON の名前と値のペアの「名前」 (コロンの左側の部分) では、いかなる場合でも二重引用符を使用する必要があることです。 3 番目のエラーは、最後の値の後にカンマを追加できないことです。これら 3 つの文字列に対して json_decode() を実行すると、null が返され、エラーが報告されます。

さらに、json はオブジェクトと配列を表すためにのみ使用できます。文字列または値に対して json_decode() を使用すると、null が返されます。

var_dump(json_decode("Hello World"));//null
ログイン後にコピー

推奨学習: 「PHP ビデオ チュートリアル

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

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