@timers

Почему выдает ошибку после перехода на php 7?

После перехода на PHP выдает ошибку при поиске:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function faq_substr(), 3 passed in /test.ru/engine/modules/faq/user_area/faq.php on line 320 and exactly 4 expected in / /test.ru/engine/modules/faq/functions.php:744 Stack trace: #0 / /test.ru/engine/modules/faq/user_area/faq.php(320): faq_substr('\xD0\xBF\xD0\xB0\xD1\x80\xD0\xB0\xD1\x80', 0, 90) #1 / /test.ru/engine/engine.php(62): include_once('/home/t/talapos...') #2 / /test.ru/engine/init.php(979): include_once('/home/t/talapos...') #3 / /test.ru/index.php(28): require_once('/home/t/talapos...') #4 {main} thrown in / /test.ru/engine/modules/faq/functions.php on line 744


Код /test.ru/engine/modules/faq/user_area/faq.php(320):
$story = (isset( $_REQUEST['faqstory'])) ? faq_substr(faq_strip_data(rawurldecode($_REQUEST['faqstory'])), 0, 90 ) : "";


Код /test.ru/engine/modules/faq/functions.php on line 744:
function faq_substr($str, $start, $length, $charset ) {
    if ( strtolower($charset) == "utf-8") return iconv_substr($str, $start, $length, "utf-8");
    else return substr($str, $start, $length);
}


Что не так?
  • Вопрос задан
  • 1495 просмотров
Решения вопроса 1
vman
@vman
функция ожидает 4 аргумента, а вы передаете 3, либо передайте 4 либо определите значение по умолчанию

function faq_substr($str, $start, $length, $charset = 'utf-8') {
....
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что функция faq_substr у вас принимает строго четыре аргумента, а вы передаёте в неё только три.
Либо добавляйте в вызов четвёртый аргумент, либо добавляйте аргументу значение по умолчанию.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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