json形式の配列URLをphp側で取得したものを整形出力したいと思い、
以下のように記述してますが、思った形で出力が出来ない状態です。
ソースコード
testData.json
json
1{ 2 "item": [ 3 { 4 "title": "タイトル1", 5 "date": "2019-06-01", 6 "status": "1", 7 "image": "https://testdomein/imageURL01", 8 "link": "https://testdomein/linkURL01", 9 "text": "説明テキスト" 10 }, 11 { 12 "title": "タイトル2", 13 "date": "2019-06-02", 14 "status": "0", 15 "image": "https://testdomein/imageURL02", 16 "link": "https://testdomein/linkURL02", 17 "text": "説明テキスト" 18 }, 19 { 20 "title": "タイトル3", 21 "date": "2019-06-03", 22 "status": "1", 23 "image": "https://testdomein/imageURL03", 24 "link": "https://testdomein/linkURL03", 25 "text": "説明テキスト" 26 }, 27 { 28 ・ 29 ・ 30 ・ 31 } 32 ] 33}
取得側のPHP部分は、以下のように書いてあり、
php
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="utf-8"> 5<title></title> 6</head> 7<body> 8<ul> 9<?php 10$url = "testData.json"; 11$json = file_get_contents($url); 12$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 13$arr = json_decode($json,true); 14 15foreach ($arr['item'] as $list) { 16 print "<li class='itemL'><div class='box'>"; 17 foreach ($list as $key => $val) { 18 print "<div class='$key'>$val</div>"; 19 } 20 print "</div></li>"; 21 } 22?> 23</ul> 24</body> 25</html>
下記のような出力結果になる部分を
html
1<li class="itemL"> 2 <div class="box"> 3 <div class="title">タイトル</div> 4 <div class="date">YYYY-MM-DD</div> 5 <div class="status">1</div> 6 <div class="image">https://testdomein/imageURL</div> 7 <div class="link">https://testdomein/linkURL</div> 8 <div class="text">説明テキスト</div> 9 </div> 10</li>
以下のような構造に整形して出力したいのですが、どう記述すればよいのか分からずの状態です。
どなたかご教授頂けないでしょうか。
html
1<li class="itemL"> 2 <div class="box"> 3 <a href="https://testdomein/linkURL" class="link"> 4 <div class="image"><img src="https://testdomein/imageURL" alt=""></div> 5 <div class="title">タイトル</div> 6 <div class="date">YYYY-MM-DD</div> 7 <div class="status">1</div> 8 <div class="text">説明テキスト</div> 9 </a> 10 </div> 11</li>
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー