Андрей
Высший разум
(425261)
5 лет назад
Ты умудрился создание функции get_rating засунуть в цикл. В результате на каждой итерации цикла PHP пытается создать НОВУЮ функцию с именем get_rating - о чём тебе прямым английским языком и сообщают.
В цикле должен быть только ВЫЗОВ функции, но никак не её создание.
---------------------------------------------
function get_rating( $id = null ) {
$rating = [];
if ( ! empty( $id ) ) {
$xml = simplexml_load_file( 'https://rating.kinopoisk.ru/' . $id . '.xml' );
$names = ['kp_rating', 'imdb_rating'];
foreach ( $names as $name ) {
$new_name = str_replace( '_rating', '', $name );
$rating[ $new_name ] = dom_import_simplexml( $xml->$name )->nodeValue;
}
}
return $rating;
}
// вызов функции
$rating = get_rating(347);
// выводим рейтинг КиноПоиск
echo $rating['kp'];
----------------------------------------
Код работает для одной записи отлично, а вот когда вывожу в цикле для нескольких записей на одной странице выскакивает ошибка.
Fatal error: Cannot redeclare get_rating() (previously declared in /home/users/g/gaaks/domains/site.ru/index.php:162) in /home/users/g/gaaks/domains/site.ru/index.php on line 162
Что с этим делать?