Я пытаюсь извлечь некоторую информацию с веб-сайта, используя 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, особенно в массивах!
$results->find
уже возвращает массивы, верно? - person Gordon   schedule 31.01.2012