【PHP】 「JSON」ファイルを読み込んで「配列」として使う

この記事は約2分で読めます。
記事内に広告が含まれています

コーディングのイメージ

こんにちは、さち です。

今回は、「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() を使用して少しややこしいので、備忘録としてこの記事を残しておきます。

コメント

タイトルとURLをコピーしました