1,151 views
この記事は最終更新から 1055日 が経過しています。
1. やりたいこと
PHPプログラムで JSONファイルをロードし、ファイルの中身を連想配列として変数に格納したい。
2. やってみる
(1) 基本
mydata.json
{ "name": "DOGROW", "age": "43" }
index.php
<html lang="ja"> <body> <?php $jsonData = file_get_contents('./mydata.json'); $jsonData = mb_convert_encoding($jsonData, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); $data = json_decode($jsonData, true); echo $data['name'].'<br>'; echo $data['age']; ?> </body> </html>
実行結果はこちら。
https://www.dogrow.net/php/sample/00077/case1
(2) 応用#1 : 配列
配列は [ ] で囲むこと。
ついつい { } で囲みそうになってしまうが、これはオブジェクトを括るときに使うものだ。
最初は間違えてしまい json_decode() が null を返し続け、「あれっ」と 1時間も迷走してしまった。
mydata.json
[ { "name": "DOGROW", "age": "43" }, { "name": "UITRON", "age": "38" } ]
index.php
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>BLOG No.77 Case2</title> </head> <body> <?php $jsonData = file_get_contents('./mydata.json'); $jsonData = mb_convert_encoding($jsonData, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); $data = json_decode($jsonData, true); foreach($data as $v){ echo '<p>'.$v['name'].' : '.$v['age'].'</p>'; } ?> </body> </html>
実行結果はこちら。
https://www.dogrow.net/php/sample/00077/case2