PHP простой HTML-дом, пытающийся получить свойство не-объекта

Я получаю следующее уведомление при запуске определенной функции:

Trying to get property of non-object in...

Моя функция:

private function rate($form)
{
    $score = 0;

    $count = $form->find('input')->length;
    $score += ($count >= 2 && $count <= 5) ? INPUT_COUNT_RATE : 0;

    $count = $form->find('textarea')->length;
    $score += $count == 1 ? TEXTAREA_COUNT_RATE : 0;

    return $score;
}

Проблемные строки — это строки с функцией find.

var_dump из $form возвращает:

object(simple_html_dom_node)[1062]...

В чем может быть проблема?


person Novak    schedule 31.07.2012    source источник


Ответы (1)


->find() возвращает либо массив совпавших узлов, либо null. Вы не можете вызвать ->length для результатов поиска, потому что результаты не являются объектом. Пытаться

$nodes = $form->find(...);
$count = count($nodes);
person Marc B    schedule 31.07.2012
comment
В этом была проблема. Спасибо за помощь. - person Novak; 31.07.2012