Нужна помощь phpQuery::each

345
30 апреля 2017, 00:36

Не могу понять принцип работы вышеуказанного метода phpQuery::each

Есть код:

$res = $forumPage->find('ul.topiclist dt .list-inner')->each(function ($dom) {  
    print_r(pq($dom)->find('.topictitle')->attr('href'));  
});  

В результате выполнения print_r() на экран выводится то, что мне нужно. если print_r() применить к $res, то обнаружится, что там лежит объект phpQuery, который среди прочего мусора содержит в себе то, что мне нужно(уже выводится).

Вопрос: что необходимо дописать, чтобы в результате выполнения вышеуказанного кода в какую-либо переменную-массив сохранялись куски, которые на данный момент успешно выводятся в результате print_r(pq($dom)->find('.topictitle')->attr('href'));

Answer 1

Если прям решение "в лоб", то у вас ответ уже в самом вопросе – сохраняйте в массив. Что бы переменная была доступна в анонимной функции используйте use (см. документацию)

$result = [];
$forumPage->find('ul.topiclist dt .list-inner')->each(function($dom) use ($result) {  
    $result[] = pq($dom)->find('.topictitle')->attr('href');  
});
var_dump($result);
READ ALSO
Переключение между визуальным редактором и текстом

Переключение между визуальным редактором и текстом

Подскажите, при создании записи в стандартном редакторе записей wordpress, если в режиме "текст" прописать <li>tekst</li>, потом переключиться...

224
Как построить динамическое условие в PHP?

Как построить динамическое условие в PHP?

Пытаюсь сделать калькуляторЕсть массив правил, в котором описано какая переменная должна быть <,>,=,!= итд какому то значению, например:

324
yii2 валидация формы

yii2 валидация формы

Есть форма, где динамический формируется поляПроблема в том что не работает валидация полей на клиентской части

595
Как получить значение из функции и вывести в объект?

Как получить значение из функции и вывести в объект?

Как вывести значение $username & $photos из функции в $dataToBePassed (сейчас выводит null):

258