как я облажался подсчет свойств в этом объекте? - PullRequest
0 голосов
/ 21 августа 2011

Я использую domdocument () для извлечения данных с веб-страницы и хочу подсчитать количество совпадений:

$dom = new DOMDocument();
@$dom->loadHTML($output);
$xpath = new DOMXPath($dom);

$brands = $xpath->query('//li[@class="cp_item"]/a/p[1]'); // get the contents of the first paragraph inside the link

Мое (вероятно, ошибочное) понимание состоит в том, что $ бренды - это объект, свойства которого совпадают. Из комментариев PHP.net я получаю следующее как способ подсчета количества свойств в объекте.

$count_brands = count((array) $brands);

Это дает 0, хотя я могу видеть, что есть много совпадений, использующих

foreach ($brands as $brand) {
    echo(trim($tag->nodeValue))
}

Очевидно, я либо неправильно понимаю, как хранятся данные, либо неправильно использует метод count (). Я просто изучаю OO PHP, так что это, вероятно, что-то глупое.

1 Ответ

2 голосов
/ 21 августа 2011

Этот "объект" является DOMNodelist и имеет свойство length , которое содержит количество элементов.

$count_brands = $brands -> length;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...