Задать вопрос
@Darklt

Почему PHP8 выдаёт ошибку на стандартный цикл?

На php7 всё работало.

for ($i = 0; $i < count($array); $i++) {
}


Сделал проверку перед
if (is_countable($array)) {
Всё равно выдаёт ошибку

count(): Argument #1 ($value) must be of type Countable|array, DOMElement given (0)
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Простой 9 комментариев
Решения вопроса 2
@iljaGolubev
PHP 8.0.0 count() will now throw TypeError on invalid countable types passed to the value parameter.
Ошибка потому,что
interface Countable ...
...
class DOMElement extends DOMNode implements DOMParentNode, DOMChildNode {
// не реализует Countable


Сделал проверку перед if (is_countable($array)) {

$dom = new DOMElement('div');
echo var_dump(is_countable($dom));
// bool(false)

Так что непонятно что вы проверяли.
Ответ написан
Комментировать
Daemon23RUS
@Daemon23RUS
А foreach (iterable_expression as $key => $value) религия не позволяет ?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы