Как подсчитать количество <div> по разным <div class=''> значениям? PHP

php html

Есть $html_string. Надо в type='hidden' name='TextElement[]' и type='text' name='Answers[]' в массивах получить значение индекса $length..Ниже описана функция getElementsByClassName($elements, $className), которая получает элементы по классам, и само $length значение..
Ошибка в том, что не видит $length значение..
Notice: Undefined variable: length in C:\xampp\htdocs\QuizForm\actions.php on line 342
Notice: Trying to get property of non-object in C:\xampp\htdocs\QuizForm\actions.php on line 348 -> тоже к $length значению относится.

342.//здесь ошибка
$html_string="<div class='Text element' name='element'>
<input type='hidden' name='TextElement["+$length+"]' value='text'/>".$row_result['quest']."<br />"
. "<input type='text' name='Answers["+$length+"]' value=''></div><br />";

echo $html_string;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
function getElementsByClassName($elements, $className)
{
$matches = array();
foreach($elements as $element)
{
if (!$element->hasAttribute('class'))
{continue;}
$classes = preg_split('/\s+/', $element->getAttribute('class'));
if ( ! in_array($className, $classes))
{continue;}
$matches[] = $element;
}
return $matches;
}

$dom = new DOMDocument;
$dom->loadHTML($html_string);
$divs = getElementsByClassName($dom->getElementsByTagName('div'), 'element');
$length = $divs->length;// 348.здесь ошибка
Ответы:
а перевести текст ошибки не пробовали?
в ней ясно сказано, что переменная $length не определена.
значит, что надо сделать?
подумайте...


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.