Как записать результат выполнения цикла в массив или переменную?

M6
На сайте с 04.10.2010
Offline
94
1381

Скрипт парсит ссылки со страницы, как записать эти ссылки в массив/переменную чтоб в дальнейшем проводить другие манипуляции с ними ?

<?php


include('simple_html_dom.php');
$html = new simple_html_dom();
$articles = array('$val');
$html->load_file('http://www.gearbest.com/leagoo-elite-1-_gear/');


$title = $html->find(".a_block");
$val = array();
$output = "0";

Перебираем ссылки расположенные в нужных нам блоках
foreach($title as $index => $val[$output])
{

$articles = $val[$output];
}
echo (" $articles <br>");


?>
Раскрутка Телеграмма ещё никогда не была такой простой, чекай тред... (/ru/forum/991237)
VHS
На сайте с 28.09.2007
Offline
142
VHS
#1

ТС, ты видимо будешь удивлен, но если сделать:

var_dump($title);

узнаешь много нового

Если нужны ссылки, то видимо


foreach($html->find("a.a_block") as $el)
echo $el->href . '<br>';
sanika
На сайте с 08.12.2015
Offline
58
#2


{

$articles = $val***91;$output***93;;
$ar_articles[]=$val***91;$output***93;;
}

И потом с массивом $ar_articles делайте что хотите

LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)
W
На сайте с 09.04.2013
Offline
46
#3

Нужны ссылки в массиве?


<?php
require_once(__DIR__.'/simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file('http://www.gearbest.com/leagoo-elite-1-_gear/');

foreach ($html->find("a.a_block") as $link) {
$links[]=$link->href;
}
print_r($links);

Результат


Array
(
[0] => http://www.gearbest.com/cell-phones/pp_231265.html
[1] => http://www.gearbest.com/cell-phones/pp_231266.html
[2] => http://www.gearbest.com/cell-phones/pp_231267.html
[3] => http://www.gearbest.com/cell-phones/pp_228504.html
[4] => http://www.gearbest.com/cell-phones/pp_228503.html
[5] => http://www.gearbest.com/cell-phones/pp_228505.html
[6] => http://www.gearbest.com/cell-phones/pp_211805.html
)

M6
На сайте с 04.10.2010
Offline
94
#4
webjey:
Нужны ссылки в массиве?

<?php
require_once(__DIR__.'/simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file('http://www.gearbest.com/leagoo-elite-1-_gear/');

foreach ($html->find("a.a_block") as $link) {
$links[]=$link->href;
}
print_r($links);


Результат

Array
(
[0] => http://www.gearbest.com/cell-phones/pp_231265.html
[1] => http://www.gearbest.com/cell-phones/pp_231266.html
[2] => http://www.gearbest.com/cell-phones/pp_231267.html
[3] => http://www.gearbest.com/cell-phones/pp_228504.html
[4] => http://www.gearbest.com/cell-phones/pp_228503.html
[5] => http://www.gearbest.com/cell-phones/pp_228505.html
[6] => http://www.gearbest.com/cell-phones/pp_211805.html
)

Благодарю прям то что нужно !

VHS
На сайте с 28.09.2007
Offline
142
VHS
#5

webjey, медвежья услуга помогать плодить сущности. Ссылки и так в массиве.

W
На сайте с 09.04.2013
Offline
46
#6
VHS:
webjey, медвежья услуга помогать плодить сущности. Ссылки и так в массиве.

Если вы про массив который возвращает метод find , то это массив объектов(simple_html_dom_node) , а не массив ссылок(строк). Да,конечно ,можно обратится к ссылкам через эти объекты ,но это усложнит код и запутает ТС. Вы могли бы показать свой код , где просто и без создания ненужных сущностей можно добраться до массива ссылок и потом работать с ним? Мне и другим форумчанам будет полезно.

Заранее спасибо.

Я руководствовался следующим:

1.Название темы: "Как записать результат выполнения цикла в массив или переменную?"

2.Тс собирается далее работать с этим массивом => удобнее с массивом строк ,чем с массивом объектов.

3.Это просто пример кода,быстрый ответ - стоит подумать , прежде чем использовать на продакшене.

4.Я не давал своей оценки,но если на то пошло то simple_html_dom не самое удачное решение.

VHS
На сайте с 28.09.2007
Offline
142
VHS
#7
webjey:
Вы могли бы показать свой код , где просто и без создания ненужных сущностей можно добраться до массива ссылок и потом работать с ним? Мне и другим форумчанам будет полезно.

/ru/forum/comment/14263646

В массиве объектов, который уже в памяти, лежат все ссылки и объекты для дальнейших манипуляций. Лишние итерации, лишняя память на создание нового массива. Понятно, что не критично. Но такие методы "обучения" вырабатывают привычку на каждый чих создавать топик в стиле "парни, распишите все за меня, мне нужен готовый скрипт".

Самым верным решением было бы просто сделать по коду в стартпосте

var_dump($title);

и чуть-чуть напрячь мозг.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий