#php
#php
Вопрос:
У меня есть скрипт, который называется ranking.php . Я вызываю этот скрипт в верхней части другого скрипта (headtohead.php ) следующим образом:
include("ranking.php");
В скрипте ранжирования есть функция с именем ‘win’. В headtohead.php сценарий, у меня есть функция со следующим:
global $form, $database, $foottour, $ranking;
А затем внутри самой функции:
$newHomePoints = $ranking->win($homePoints, $homescore, $awayscore, ($homeStar - $awayStar));
Я получаю сообщение об ошибке, в котором говорится, что функция ‘win’ в строке, где она вызывается, неизвестна?
Комментарии:
1. Пожалуйста, всегда указывайте точное сообщение об ошибке
2. Является ли $ranking классом? Если это не так, то вы должны иметь возможность просто вызывать
win($homePoints, $homescore, $awayscore, ($homeStar - $awayStar));
, не упоминая рейтинг.3. Вам необходимо предоставить полную формулировку сообщения об ошибке, иначе трудно сказать. «Неизвестная функция» мало что значит, только то, что она не была определена.
4. Можете ли вы ответить на свой вопрос так, чтобы это помогло другим? Если вы это сделаете, вы можете выбрать свой в качестве правильного ответа. Это может показаться странным, но это предпочтительный способ решения подобных ситуаций.
Ответ №1:
$ranking->win(...)
вызывает метод для объекта. Является win
ли функция на ranking.php
самом деле методом внутри класса? Если это автономная функция, то вы должны вызвать ее как автономную функцию.
Ответ №2:
вы можете попытаться вызвать метод, только если он существует:
if (method_exists('win', $ranking)) {
$newHomePoints = $ranking->win($homePoints, $homescore, $awayscore, $homeStar - $awayStar);
}
Ответ №3:
является ли $ranking экземпляром класса? если нет, вам следует использовать $ranking = new «имя класса здесь» (); Можете ли вы опубликовать источник ranking.php ?