拆分外部数组以提供不同的标题


Splitting an external array to give different titles

我一直在尝试如何拆分数组,并为页面上的每个单独标题添加不同的标题,为它显示的每个不同内容添加不同的名称。然而,我能做的最多的事情就是在数字和单词之间加一个逗号。

我想添加selling"1st variable price"second variable"等,但我不知道该怎么做,只能把这堆看起来很困惑的字母变成:

用户名和注释01001000013972583957ecC任意金额-w378-v西部

除了这个:

0100100001397258395,7ec,CC,任何数量-w378-v west

此外,这就是它在JSON形式中的样子:

{"selling":"0","quantity":"100","price":"10000","date":"1397258395","rs_name":"7ec","contact":"CC","notes":"any amount-w378- v west"}

我只是希望那里的所有信息都能这样显示,但我不太确定如何添加JSON数据中的标题。我也无法访问外部网站来更改任何内容。

一个小背景:我试图实现的是从外部网站在我的网站上查找游戏的价格。我试着用iframe,但很糟糕;我宁愿手动显示它,也不愿从我的网站上显示他们的网站——他们的风格和我的风格非常冲突。

$json = file_get_contents('http://forums.zybez.net/runescape-2007-prices/api/rune+axe');

$obj = json_decode($json,true);

$blah1 = implode( $obj[0]["offers"][1]);
print_r($blah1);

如果你知道它在哪里,你应该能够抓住它并展示出来?

您可以使用故障保护来检查它是否与is_array()isset()函数一起存在——请参阅php.net文档。

你的print_r应该给你很好的有效信息——之前试着把它包装在<pre></pre>标签周围,以获得更好的可读性或查看源代码——这会更容易!

<pre><?php print_r($obj) ?></pre>

这应该是你的起点,从这里开始,你要么拿走你的第一件物品,要么用循环浏览所有物品

foreach ($obj as $o) { //should be $objects, not $obj
//do whatever with $o, like echo $o['price'] 
}

每个offers行都是一个table,每个字段由行分隔:

$item = json_decode(file_get_contents('http://forums.zybez.net/runescape-2007-prices/api/rune+axe'));
while ($offer = array_shift($item[0]->offers)) {
    echo "<table>" . PHP_EOL;
    foreach ($offer as $field => $value) {
        echo "<tr><th>$field</th><td>$value</td></tr>" . PHP_EOL;
    }
    echo "</table>" . PHP_EOL;
}

http://codepad.org/C3PQJHqL

HTML表格:

http://jsfiddle.net/G5QqZ/