【问题标题】:How to display php array as HTML?如何将php数组显示为HTML?
【发布时间】:2013-06-28 18:53:12
【问题描述】:

我正在使用 Yahoo BOSS API 为 Motherpipe.co.uk 构建图像搜索。

我已经成功创建了一个有效的图片列表请求并收到了响应。我的问题是我不明白如何使用该响应的不同元素来构建我漂亮的图片列表页面。

理想情况下,我想遍历数组并为列表中的每个项目显示缩略图和链接,但不知何故我无法从 $results 中抽象出相关位。

带有两个列表的查询的(示例)输出在此 $results 中:

stdClass Object ( [bossresponse] => stdClass Object ( [responsecode] => 200 [images] => stdClass Object ( [start] => 0 [count] => 2 [totalresults] => 107000 [results] => Array ( [0] => stdClass Object ( [clickurl] => htt://library.thinkquest.org/07aug/01105/Sweden/stockholm.jpg [size] => 191.8KB [format] => jpeg [height] => 586 [refererclickurl] => htt://library.thinkquest.org/07aug/01105/Sweden/sweden_home.html [refererurl] => htt://library.thinkquest.org/07aug/01105/Sweden/sweden_home.html [title] => Stockholm is a beautiful city with Lake Mälaren on it’s WestSide ... [url] => http://library.thinkquest.org/07aug/01105/Sweden/stockholm.jpg [width] => 793 [thumbnailheight] => 118 [thumbnailurl] => htt://ts4.mm.bing.net/th?id=H.4970051277687231&pid=15.1&H=118&W=160 [thumbnailwidth] => 160 ) [1] => stdClass Object ( [clickurl] => http://summerventures.files.wordpress.com/2012/01/429c_stockholm_ch.jpg [size] => 2.3MB [format] => jpeg [height] => 1272 [refererclickurl] => htt://summerventures.wordpress.com/tag/stockholm/ [refererurl] => htt://summerventures.wordpress.com/tag/stockholm/ [title] => stockholm | Summer adventures [url] => htt://summerventures.files.wordpress.com/2012/01/429c_stockholm_ch.jpg [width] => 1800 [thumbnailheight] => 113 [thumbnailurl] => htt://ts2.mm.bing.net/th?id=H.4581116279128437&pid=15.1&H=113&W=160 [thumbnailwidth] => 160 ) ) ) ) ) 

问题:

我可以使用什么方法来简单地显示缩略图,其中包含来自此数组中每个列表的链接,使用 [thumbnailurl] 和 [refererclickurl] 中的信息,类似于

<div> <<a href="[refererclickurl]"><img src="[thumbnailurl]" alt="alt text" /> </div>

我认为我需要一种适用于每种方法的方法,但在尝试了三天后,我无法使其发挥作用。

非常感谢任何帮助。

【问题讨论】:

  • results 是一个对象数组,没什么复杂的,它是基本的。foreach($results as $result){ echo $result-&gt;title; }

标签: php arrays yahoo-boss-api


【解决方案1】:

试试下面的。您问题中引用的对象位于 $o 变量中。

$html = '';
$images = $o->bossresponse->images->results;
foreach ($images as $image) {
    $html .= "<a href='{$image->refererclickurl}'><img src='{$image->thumbnailurl}'></a>";
}
echo $html;

请注意,如果$obj-&gt;prop 等于“foo”,那么"{$obj-&gt;prop} is not bar" 将等于“foo is not bar”。

还需要注意的是,如果您还输出图像尺寸,html 会更好,并且可能会根据您正在实施的 html 规范而改变。

【讨论】:

  • 您当前正在每次迭代中重置$html。您可能打算连接。
  • 太好了,我现在得到了一个缩略图和链接 :-) 真的很愚蠢的问题 - 我只显示第一个列表 - 我怎样才能让每个条目重复这个?很抱歉很痛苦。
  • 感谢 Daniel - 现在每个列表都像梦一样工作。度过了我的一天 - 欢呼 :-) 我将在 Motherpipe.co.uk 上使用它,我正在那里构建一个匿名搜索引擎。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2014-11-05
  • 1970-01-01
  • 2013-12-01
  • 2013-11-11
  • 2019-04-16
相关资源
最近更新 更多