質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

5511閲覧

PHP JSONの多次元配列から値を取得したい

nakayamaakg

総合スコア12

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/06/24 15:55

閲覧ありがとうございます。

JSONファイルを読み取り、多次元配列から
47都道府県名をすべて表示させたいのですが
foreachを使っているのに総べての県名表示ができません。

どうかご理解ある方いらっしゃいましたら教えて頂けませんでしょうか。
現在の表示 「都道府県は北海道」

php

1<?php 2 $file = "./sample.json"; //jsonファイルへのパス 3 $json = file_get_contents($file); //ile_get_contents関数を用いて、$fileの内容を文字列として読み込む 4 $arr = json_decode($json,true) ;//$jsonの内容を連想配列として$arrに格納する 5 6 7 foreach($arr as $key => $val){ 8 echo "都道府県は" . $arr[0]["01"]["name"]; 9}; 10

json

1[{ 2 "01": { 3 "id": "01", 4 "name": "北海道", 5 "short": "北海道", 6 "kana": "ホッカイドウ", 7 "en": "hokkaido", 8 "city":[ 9 {"citycode":"0010001","city":"札幌市中央区"}, 10 ⇣⇣ 11 {"citycode":"0010106","city":"目梨郡"} 12 ] 13}, 14"02": { 15 "id": "02", 16 "name": "青森県", 17 "short": "青森", 18以下略

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

$arr[0]["01"]["name"]は、ループで何回実行しようが北海道のデータですね。

データの形をよく見て、それに合わせたコードにしましょう。

$arrでなく$arr[0]の中の各要素について、["name"]を見れば良いのでは?

投稿2021/06/24 16:04

otn

総合スコア84769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nakayamaakg

2021/06/24 16:17

foreach($arr[0] as $key => $val){ echo "都道府県は" . $val["name"]; echo "<br>"; }; これにて解消できました。。おかげさまで苦しかったですが解消できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問