Ошибка синтаксиса на PHP 7.1

103
27 февраля 2021, 21:30

Подскажите, почему получаю ошибку на PHP 7.1

Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR)

Ругается на строку:

if (strpos(($childs[0])->nodeValue, $propName) !== false) Вот весь код

if (!function_exists('getPropValueFromHtmlByName')) {
        function getPropValueFromHtmlByName($html, $propName) {
        $doc = new DOMDocument();
        $doc->loadHTML($html);
        $tags = $doc->getElementsByTagName('li');
        foreach ($tags as $tag) {
            $childs = $tag->getElementsByTagName('span');
            if (strpos(($childs[0])->nodeValue, $propName) !== false)
                    return ($childs[1])->nodeValue;
        }  
        return '';
    }
}

UPD: в $childs[0]

object(DOMElement)#617 (18) {
  ["tagName"]=>
  string(4) "span"
  ["schemaTypeInfo"]=>
  NULL
  ["nodeName"]=>
  string(4) "span"
  ["nodeValue"]=>
  string(12) "Availability"
  ["nodeType"]=>
  int(1)
  ["parentNode"]=>
  string(22) "(object value omitted)"
  ["childNodes"]=>
  string(22) "(object value omitted)"
  ["firstChild"]=>
  string(22) "(object value omitted)"
  ["lastChild"]=>
  string(22) "(object value omitted)"
  ["previousSibling"]=>
  string(22) "(object value omitted)"
  ["nextSibling"]=>
  string(22) "(object value omitted)"
  ["attributes"]=>
  string(22) "(object value omitted)"
  ["ownerDocument"]=>
  string(22) "(object value omitted)"
  ["namespaceURI"]=>
  NULL
  ["prefix"]=>
  string(0) ""
  ["localName"]=>
  string(4) "span"
  ["baseURI"]=>
  NULL
  ["textContent"]=>
  string(12) "Availability"
}
Answer 1

Вы обрамили скобками переменную содержащую объект и после попытались взять из этой конструкции свойства объекта.

Правильнее использовать так:

if (strpos($childs[0]->nodeValue, $propName) !== false)
READ ALSO
Синтаксическая ошибка }

Синтаксическая ошибка }

Я установил ubuntu и развернул проект у себя на локалке, после запуска выдает слелующую ошибку:

111
TypeForm WebHook пустое тело $_request

TypeForm WebHook пустое тело $_request

Подключил обработчик для получения вебхука с typeformcom Запрос уходит в формате JSON, в $_request, $_post, php://input - пусто

120
PHP:Как вывести дерево категорий?

PHP:Как вывести дерево категорий?

наткнулся на статью хорошо описано про создания дерево категории, но функция вернет ответь в готовый html но я хочу получать дерево в массиве...

129
Использование hibernate несколькими приложениями

Использование hibernate несколькими приложениями

Сложилась такая ситуация, есть несколько отдельных приложений, которые используют одну базу данныхКонкретнее, есть приложение на vaadin'e и есть...

104