【发布时间】:2014-01-09 17:25:30
【问题描述】:
我有 javascript 代码:
if (imageData[imageCount].comments.data != null)
{
text = 'Comments Data:<br />';
imageData[imageCount].comments.data.forEach(function(comment){
text += comment.from.username + ': ' + comment.text + '<br />';
});
}
PHP 中哪个 imageData[imageCount] 指的是 $data。
我试图用 PHP 重写 self 但没有成功。
foreach ($contents->data as $data) {
if ($data->comments->data != null)
{
foreach($data->comments->data as $comment)
{
$text = comment->from->username + ': ' + comment->text + '<br />';
});
}
我确定代码结构有问题。它返回为foreach() 提供的无效参数
-- 编辑--
我已成功将 sn-p 转换为 PHP。但是我遇到了一个新问题,因为我试图从 API(在本例中为 Instagram API)创建 XML 文件。 查看产品部分的 productName 和 productPrice 属性:
http://pastebin.com/ubGGyp9b
Value productName="Sushi Homemade" 和 productPrice="50.000" 仅适用于 productID="002"。但是为什么值也填充到下一个productID >= 002。
这段代码是否有错误:
<products>
<category categoryName="Instagram">
<?php
foreach ($contents->data as $data) {
foreach($data->comments->data as $comment){
if(preg_match('/#title/', $comment->text)){
$komen = preg_replace('/#title/', '', $comment->text);
break;
} else { $komen = 'No Title'; }
}
foreach($data->comments->data as $comment){
if(preg_match('/#price/', $comment->text)){
$harga = preg_replace('/#price/', '', $comment->text);
break;
} else { $harga = '0'; }
}
echo '<product productName="'. $komen .'" productID="' . $data->id . '" thumbPath="' . $data->images->thumbnail->url . '" productPrice="'. $harga .'">
<details>
<![CDATA[
<img src="' . $data->images->low_resolution->url . '" width="100%"/>
' . $data->caption->text . '
]]>
</details>
</product>
【问题讨论】:
-
comment会引起问题。$comment,也许?当然,在 PHP 中,.是连接运算符。你正在用+做一堆“字符串数学”。 -
PHP 也不使用
+进行连接。 -
$contents->data和$data->comments->data是数组吗?您没有指出是哪个 foreach 导致了问题。 -
// 初始化类 $instagram = new Instagram($accessToken); $instagram->setAccessToken($accessToken); $contents = $instagram->getUserMedia($userID,$settings['count']);
-
我已经编辑了这个问题。请往上看
标签: javascript php xml