gpt4 book ai didi

php - 如何在 foreach 循环中创建数组?

转载 作者:搜寻专家 更新时间:2023-10-31 21:54:10 24 4
gpt4 key购买 nike

我正在使用 PHP HTML DOM 解析器从另一个站点获取数据。首先,我在这个网站上获取我的交易 URL,然后我在每个交易 URL 上发送另一个请求以获取评论。我想制作一系列评论,以便稍后对它们进行排序。为什么我不能创建数组?

看起来像这样

include_once('simple_html_dom.php');
$result = array();
$html = file_get_html('http://csgolounge.com/profile?id='.$steamid);

foreach($html->find('div.tradepoll') as $trade)
{
$tradeid = $trade->find('.tradeheader')[0]->find('a')[0]->href;
$html = file_get_html('http://csgolounge.com/'.$tradeid);

foreach($html->find('div.message') as $message)
{

if($message->find('p',0)){}

else
{
$left = $message->find('.msgleft')[0];
$right = $message->find('.msgright')[0];

//information about comments
$time = trim(strip_tags_content($left->innertext));
$text = $left->find('.msgtxt')[0];

$result[$time]['time'] = $time;
$result[$time]['text'] = $text;
}

}

}

echo json_encode($result);

如果我回显 $time 或 $text 我总是能成功获取数据。

最佳答案

我找到了问题所在。

Simple HTML DOM Parser 不会在每次调用 file_get_html 或 str_get_html 时清除 DOM 中的内存,因此每次您完成当前 DOM 时都需要明确执行。

所以我添加了 $html->clear();在循环结束时。

致谢:electrictoolbox.com

关于php - 如何在 foreach 循环中创建数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35387728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com