我正在尝试使用simple_html_dom从网站中提取一些信息。
目前我正在使用:
foreach ($html->find('div.product') as $results) {
foreach ($results->find('div.image') as $img) {
echo $img;
}
foreach ($results->find('a.title') as $title) {
echo $title->plaintext;
}
foreach ($results->find('div.price') as $price) {
echo $price;
}
}
哪个工作正常。但是我需要能够在foreach循环之外回显每个变量。如果我使用上面的代码,只显示最终结果,即我试图提取的10个产品中只有10个会显示。
有没有办法可以使用数组存储每个foreach循环的所有结果,然后在整个循环完成后回显它们?
这样的事情:
foreach ($html->find('div.product') as $results) {
foreach ($results->find('div.image') as $img) {
array($img);
}
foreach ($results->find('a.title') as $title) {
array($title->plaintext);
}
foreach ($results->find('div.price') as $price) {
array($price);
}
}
echo array($img);
echo array($title);
echo array($price);
很抱歉,如果这个问题令人困惑,我对PHP没有最好的把握,特别是数组!
答案 0 :(得分:3)
$array_img = array();
$array_title = array();
$array_price = array();
foreach ($html->find('div.product') as $results) {
foreach ($results->find('div.image') as $img) {
$array_img[] = $img;
}
foreach ($results->find('a.title') as $title) {
$array_title[]= $title->plaintext;
}
foreach ($results->find('div.price') as $price) {
$array_price[]= $price;
}
}
echo '<pre>';
print_r($array_img);
print_r($array_title);
print_r($array_price);
echo '</pre>';
答案 1 :(得分:1)
$images = array();
foreach ($html->find('div.product') as $results) {
foreach ($results->find('div.image') as $img) {
$images[] = $img; // append $img to the $images array
}
}
var_dump($images);
同样对标题和价格数据也这样做。
答案 2 :(得分:1)
$img = array();
$title = array();
$price = array();
foreach ($html->find('div.product') as $results) {
$img[] = $results->find('div.image');
$title[] = $results->find('a.title');
$price[] = $results->find('div.price');
}
print_r($img);
print_r($title);
print_r($price);
答案 3 :(得分:0)
不确定我是否完全理解您的问题,请尝试以下操作。
$priceList = $titleList = $imgList = array();
foreach ($html->find('div.product') as $results) {<br/>
foreach ($results->find('div.image') as $img) {<br/>
$imgList[] = $img;<br/>
}<br/>
foreach ($results->find('a.title') as $title) {<br/>
titleList[] = $title;<br/>
}<br/>
foreach ($results->find('div.price') as $price) {<br/>
priceList[] = $price;<br/>
}<br/>
}<br/>
foreach ($imgList as $img) {<br/>
echo $img;<br/>
}<br/>
等等......