こんにちは、さち です。
今回は、「PHP」で「JSON」ファイルを読み込み、使用する方法について書いていきます。
方法はあまり難しくないんですが、少しハマったところがあったので、備忘録としてこの記事を残しておきます。
サンプル用コード
JSON
[ { "grade": 3, "name": "Kozue" }, { "grade": 2, "name": "Kaho" }, { "grade": 1, "name": "Ginko" } ]
PHP
// JSON ファイルの指定
$json_file = dirname(__FILE__)."/folder/sample.json";
// JSON ファイルを読み込む
$json_data = file_get_contents($json_file);
// JSON を配列に変換
$json_array = json_decode($json_data, true);
echo $json_array[0]['name'];// -> Kozue
重要なのは、json_decode()
の第2引数の true
です。これがないと $json_array
の配列を呼び出そうとするとエラーが出てしまいます。
私はこのことを知らずに結構な時間を無駄にしたので、これを読んでいるあなたは気をつけて下さいね……。
【メモ】 dirname(__FILE__)
について
dirname()
は記述したパス(「ファイル」や「ディレクトリ」がある場所)の親ディレクトリを返す関数です。
__FILE__
は PHPファイル 自身(今回の例だと「read-json.php」)がある場所の絶対パスを返すマジック定数です。
この2つを組み合わせて dirname(__FILE__)
とすることで「read-json.php」の親ディレクトリを取得できるので、「sample.json」がある場所を相対パスで記述できます。
これにより、プロジェクトを置く「ディレクトリ」や「サーバー」を変更しても、パスの記述を修正することなくファイルにアクセスできます。
関連記事
「JavaScript」で「JSON」を読み込む方法については、下記リンク先の記事で紹介しています。

【JavaScript】 「JSON」ファイルを読み込んで「配列」として使う
こんにちは、さち です。今回は、「JavaScript」で「JSON」ファイルを読み込み、使用する方法について書いていきます。fetch() を使用して少しややこしいので、備忘録としてこの記事を残しておきます。
コメント