本文介绍了如何使用PHP将JSON解析为html表格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我必须在我的网站上找到一张桌子。并且必须从获取该表的数据 http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373 我尝试了很多东西,但没有任何东西.... <!DOCTYPE html> < html> < head> < script type =text / javascript src =http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js><<< ; /脚本> < / head> < body> <?php $ json = file_get_contents(http://west.basketball.nl/db/json /stand.pl?szn_Naam=2014-2015&cmp_ID=373 ); $ data = json_decode($ json); if(count($ data)){ //打开表格 echo< table>; //遍历数组 foreach($ data as $ stand){ //输出一行 echo< tr> ; echo< td> $ afko< / td>; echo< td> $ positie< / td>; 回声< / tr>; } //关闭表格 echo< / table>; } ?> < / body> < / html> 解决方案确定从外部获取数据时要做的第一件事来源是了解什么是返回。 所以做 <?php $ json = file_get_contents(http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373); $ data = json_decode($ json); print_r($ data); 结果: ( [stand] =>数组( [0] => stdClass对象( [ ab> => Risne Stars HS 1 [ID] => 2091 [status] => Actief [gespeeld] => 3 [百分比] = > 100.0 [punten] => 6 [tegenscore] => 149 [eigenscore] => 191 => 2014-10- 05 [saldo] => 42 [team] => Risne Stars Heren 1 [positie] => 1 ) [1] => stdClass对象( [afko] => DBV Arriba HS 2 [ID] => 1813 [status] =&g吨; Actief [gespeeld] => 2 [百分比] => 0.0 [punten] => 0 [tegenscore] => 116 [eigenscore] => 102 [datum] => 2014-10-05 [saldo] => -14 [team] => D.B.V. Arriba Heren 2 [positie] => 10 ) [2] => stdClass Object ( [afko] => The Valley Bucketeers HS 2 [ID] => 2430 [status] => Actief [gespeeld ] => 2 [百分比] => 0.0 [punten] => 0 [tegenscore] => 177 [eigenscore] => 70 [datum] => 2014-10-05 [saldo] => -107 [team] => The Valley Bucketeers Heren 2 [positie] => ; 11 ) [3] => stdClass Object ( [afko] => Uitsmijters HS 2 [ID] => 2143 [status] => Actief [gespeeld] = > 2 [百分比] => 100.0 [punten] => 4 [tegenscore] => 79 [eigenscore] => 161 $ b $ 2014-10-05 [saldo] => 82 [team] => Uitsmijters Heren 2 [positie] => 2 ) [4] => stdClass Object ( [afko] => Picker Reds HS 1 [ID] => 2056 [status] => Actief [gespeeld] => 3 [百分比] => 66.7 [punten] => 4 [tegenscore] => 193 [eigenscore] => 184 [datum] => 2014-10-05 [saldo] => -9 [team] => Picker Reds Heren 1 [positie] => 3 ) [5] => stdClass Object ( [afko] => Peatminers HS 2 [ID] => 6247 [status] => Actief [gespeeld] = > 1 [百分比] => 100.0 [punten] => 2 [tegenscore] => 36 [eigenscore] => 64 $ b $ 2014-10-05 [saldo] => 28 [team] => Peatminers Heren 2 [positie] => 4 ) [6] => stdClass Object ( [afko] => Jolly Jumpers HS 1 [ID] => 1994 [status] => Actief [gespeeld] => 2 [百分比] => 50.0 [punten] => 2 [tegenscore] => 103 [eigenscore] => 119 [datum] => 2014-10-05 [saldo] => 16 [team] => Jolly Jumpers Heren 1 [positie] => 5 ) [7] => stdClass Object ( [afko] => TONEGO '65 HS 2 [ID] => 2120 [status] => Actief [gespeeld ] => 2 [百分比] => 50.0 [punten] => 2 [tegenscore] => 107 [eigenscore] => 122 $ datum => 2014-10-05 [saldo] => 15 [team] => TONEGO '65 Heren 2 [positie] => 6 ) [8] => stdClass Object ( [afko] => Amical HS 2 [ID] => 1791 [status] => Actief [gespeeld] = > 3 [百分比] => 33.3 [punten] => 2 [tegenscore] => 180 [eigenscore] => 195 $ b $ 2014-10-05 [saldo] => 15 [team] => Amical Heren 2 [positie] => 7 ) [9] => stdClass Object ( [afko] => SVZW HS 2 [ID] => 5526 [status] => Actief [gespeeld] = > 3 [百分比] => 33.3 [punten] => 2 [tegenscore] => 174 [eigenscore] => 151 $ b $ 2014-10-05 [saldo] => -23 [team] => SVZW Heren 2 [positie] => 8 ) [10] => stdClass Object ( [afko] => Twente Buzzards HS 3 [ID] => 2294 [status] => Actief [gespeeld] => 3 [百分比] => 33.3 [punten] => 2 [tegenscore] => 196 [eigenscore] => 151 $ datum => 2014-10-05 [saldo] => -45 [team] => Twente Buzzards Heren 3 [positie] => 9 ) ) [nummer] => OHS2C [版本] => 1.0 [aantal_teams] => 11 [id] => 373 [seizoen] => 2014-2015 [naam] => Oost Afdeling Heren Senioren 2e klasse C [gewijzigd] => 2014-10-05 18:34:25 ) 现在你知道你是处理一个OBJECT,而不是标量值或数组。 所以试试这段代码: - $ / $ b $ pre > <?php $ json = file_get_contents(http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373) ; $ data = json_decode($ json); if(count($ data-> stand)){ //打开表格 echo< table>; //遍历数组 foreach($ data->表示为$ idx => $ stand){ //输出一行回显< tr>; echo< td> $ stand-> afko< / td>; echo< td> $ stand-> positie< / td>; 回声< / tr>; } //关闭表格 echo< / table>; } ?> I have to get a table in my website. And have to get the data for this table from"http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373"I've tried a lot of thing but nothing works.... <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> </head> <body> <?php $json=file_get_contents("http://west.basketball.nl/db/json /stand.pl?szn_Naam=2014-2015&cmp_ID=373"); $data = json_decode($json); if (count($data)) { // Open the table echo "<table>"; // Cycle through the array foreach ($data as $stand) { // Output a row echo "<tr>"; echo "<td>$afko</td>"; echo "<td>$positie</td>"; echo "</tr>"; } // Close the table echo "</table>"; } ?> </body></html> 解决方案 Ok first thing to do when getting data from an external source is to understand what is being returned.So do<?php$json=file_get_contents("http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373");$data = json_decode($json);print_r($data);Result:stdClass Object( [stand] => Array ( [0] => stdClass Object ( [afko] => Risne Stars HS 1 [ID] => 2091 [status] => Actief [gespeeld] => 3 [percentage] => 100.0 [punten] => 6 [tegenscore] => 149 [eigenscore] => 191 [datum] => 2014-10-05 [saldo] => 42 [team] => Risne Stars Heren 1 [positie] => 1 ) [1] => stdClass Object ( [afko] => D.B.V. Arriba HS 2 [ID] => 1813 [status] => Actief [gespeeld] => 2 [percentage] => 0.0 [punten] => 0 [tegenscore] => 116 [eigenscore] => 102 [datum] => 2014-10-05 [saldo] => -14 [team] => D.B.V. Arriba Heren 2 [positie] => 10 ) [2] => stdClass Object ( [afko] => The Valley Bucketeers HS 2 [ID] => 2430 [status] => Actief [gespeeld] => 2 [percentage] => 0.0 [punten] => 0 [tegenscore] => 177 [eigenscore] => 70 [datum] => 2014-10-05 [saldo] => -107 [team] => The Valley Bucketeers Heren 2 [positie] => 11 ) [3] => stdClass Object ( [afko] => Uitsmijters HS 2 [ID] => 2143 [status] => Actief [gespeeld] => 2 [percentage] => 100.0 [punten] => 4 [tegenscore] => 79 [eigenscore] => 161 [datum] => 2014-10-05 [saldo] => 82 [team] => Uitsmijters Heren 2 [positie] => 2 ) [4] => stdClass Object ( [afko] => Picker Reds HS 1 [ID] => 2056 [status] => Actief [gespeeld] => 3 [percentage] => 66.7 [punten] => 4 [tegenscore] => 193 [eigenscore] => 184 [datum] => 2014-10-05 [saldo] => -9 [team] => Picker Reds Heren 1 [positie] => 3 ) [5] => stdClass Object ( [afko] => Peatminers HS 2 [ID] => 6247 [status] => Actief [gespeeld] => 1 [percentage] => 100.0 [punten] => 2 [tegenscore] => 36 [eigenscore] => 64 [datum] => 2014-10-05 [saldo] => 28 [team] => Peatminers Heren 2 [positie] => 4 ) [6] => stdClass Object ( [afko] => Jolly Jumpers HS 1 [ID] => 1994 [status] => Actief [gespeeld] => 2 [percentage] => 50.0 [punten] => 2 [tegenscore] => 103 [eigenscore] => 119 [datum] => 2014-10-05 [saldo] => 16 [team] => Jolly Jumpers Heren 1 [positie] => 5 ) [7] => stdClass Object ( [afko] => TONEGO '65 HS 2 [ID] => 2120 [status] => Actief [gespeeld] => 2 [percentage] => 50.0 [punten] => 2 [tegenscore] => 107 [eigenscore] => 122 [datum] => 2014-10-05 [saldo] => 15 [team] => TONEGO '65 Heren 2 [positie] => 6 ) [8] => stdClass Object ( [afko] => Amical HS 2 [ID] => 1791 [status] => Actief [gespeeld] => 3 [percentage] => 33.3 [punten] => 2 [tegenscore] => 180 [eigenscore] => 195 [datum] => 2014-10-05 [saldo] => 15 [team] => Amical Heren 2 [positie] => 7 ) [9] => stdClass Object ( [afko] => S.V.Z.W. HS 2 [ID] => 5526 [status] => Actief [gespeeld] => 3 [percentage] => 33.3 [punten] => 2 [tegenscore] => 174 [eigenscore] => 151 [datum] => 2014-10-05 [saldo] => -23 [team] => S.V.Z.W. Heren 2 [positie] => 8 ) [10] => stdClass Object ( [afko] => Twente Buzzards HS 3 [ID] => 2294 [status] => Actief [gespeeld] => 3 [percentage] => 33.3 [punten] => 2 [tegenscore] => 196 [eigenscore] => 151 [datum] => 2014-10-05 [saldo] => -45 [team] => Twente Buzzards Heren 3 [positie] => 9 ) ) [nummer] => OHS2C [version] => 1.0 [aantal_teams] => 11 [id] => 373 [seizoen] => 2014-2015 [naam] => Oost Afdeling Heren Senioren 2e klasse C [gewijzigd] => 2014-10-05 18:34:25)So now you know you are dealing with an OBJECT and not scalar values or an array.So try this code:-<?php $json=file_get_contents("http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373"); $data = json_decode($json); if (count($data->stand)) { // Open the table echo "<table>"; // Cycle through the array foreach ($data->stand as $idx => $stand) { // Output a row echo "<tr>"; echo "<td>$stand->afko</td>"; echo "<td>$stand->positie</td>"; echo "</tr>"; } // Close the table echo "</table>"; }?> 这篇关于如何使用PHP将JSON解析为html表格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-01 03:52