Как передать объект simpleXml в метод?

231
28 октября 2017, 18:02

Имеется код для парсинга XML файла в объект. Но проблема в том, что при попытке передать объект simpleXml в метод мне ругается таким образом Only variables should be passed by reference. Пример кода чуть ниже привожу. Ругается именно на строку с вызовом parseTournaments

P.S. Забыл уточнить - $this->data и есть наш корневой объект, в метод передается вложенный объект $country

public function parseStruct()
    {
        $root = new Root();
        foreach($this->data->sport as $sport) {
            $root->createSport($sport['name'], $sport['id']);
            foreach($sport->country as $country) {
                $root->createCountry($country['name'], $sport['id'], $country['id']);
                $sport_obj = end($root->getSports());
                $country_obj = end($root->getCountries());
                $this->parseTournaments($sport_obj, $country_obj, $country);
            }
        }
        return $root;
    }
Answer 1

Назначьте результат взрыва переменной и передайте эту переменную в end

$tmp1 =$root->getSports();
$tmp2 = $root->getCountries();
sport_obj = end($tmp1);
$country_obj = end($tmp2);

End работает ссылкой, а в текущем примере он не может массив преобразовать в ссылку

READ ALSO
Получить данные из PUT

Получить данные из PUT

В php для получения данных из POST и GET есть соответствующие методы, но как получить данные например из PUT ?

330
Как отсортировать массив и получить на выходе ключи объектов

Как отсортировать массив и получить на выходе ключи объектов

Есть следующий алгоритм, написанный мной на JS:

271
Как хранить токены и пароли, которые необходимы для работы приложения?

Как хранить токены и пароли, которые необходимы для работы приложения?

ПриветствуюМне в приложении, например, нужно обращаться к базе, а значит нужно как-то получать и хранить логин, пароль для базы; нужно обращаться...

413