этот код отлично работает на php5.4, но не на php5.3, как изменить его для работы с php5.3

У меня есть сайт joomla на локальном сервере с php5.4, и он работает нормально, но когда я загружаю его на рабочий сервер, весь сайт выдает ошибку «неожиданный [» в строке 491 в example.php при комментировании этой строки, это работает хорошо, но я не уверен, создаст ли это проблему в каком-то расширении или нет.

строка 491, которая дает эту ошибку

$hash = md5(json_encode([$reftable,$reffield, $refids, $language]));

полный код функции, содержащий эту строку:

public function getRawFieldTranslations($reftable,$reffield, $refids, $language)
{

    static $cache = array();

    $hash = md5(json_encode([$reftable,$reffield, $refids, $language]));

    if (!isset($cache[$hash])) {
        $db      = JFactory::getDbo();
        $dbQuery = $db->getQuery(true)
            ->select($db->quoteName('value'))
            ->from('#__falang_content fc')
            ->where('fc.reference_id = ' . $db->quote($refids))
            ->where('fc.language_id = ' . (int) $language)
            ->where('fc.published = 1')
            ->where('fc.reference_field = ' . $db->quote($reffield))
            ->where('fc.reference_table = ' . $db->quote($reftable));

        $db->setQuery($dbQuery);
        $result  = $db->loadResult();

        //$cache[$hash] don't like null value
        if (!empty($result)){
           $cache[$hash] = $result;
        } else {
           $cache[$hash] = '';
        }

    }

    return $cache[$hash];
}

Итак, горячо именно модифицировать этот код для работы с php5.3


person mohamed    schedule 01.05.2018    source источник
comment
Сокращенные массивы были представлены в версии 5.4. Вам нужно построить массив внутри json_encode() по старинке. stackoverflow.com/questions/4271874/   -  person Paul Abbott    schedule 02.05.2018
comment
спасибо за помощь ‹code› $pulp = array(); $хэш = md5(json_encode($pulp)); ‹/код› это правильно   -  person mohamed    schedule 02.05.2018