1,583 views
この記事は最終更新から 1352日 が経過しています。
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
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2025-12-09: 0回 2025-12-08: 4回 2025-12-07: 0回 2025-12-06: 0回 2025-12-05: 0回 2025-12-04: 1回 2025-12-03: 0回