php BytesToStr перевести байты в строку для версии 5.4.16
на локальной машине написал функцию перевода байтов в строку но на серваке не работает. ловит глобальную ошибку. из за ... версия сервака PHP Version 5.4.16 как исправить что бы такой же результат выдавало как на локалке
function BytesToStr(array &$Buff)
{
return pack('C*', ...$Buff);
}
Ответы (1 шт):
Автор решения: Pr0gramm1st
→ Ссылка
Оператор ... используется в функции не только как "сборщик" всех аргументов в одну переменную, но и как "распаковщик" массива ($Buff - массив в вашем случае). Такая возможность появилась в PHP 5.6.
Как варианты решения:
- Поменять версию PHP на сервере на более свежую (грозит появлением других ошибок, если проект, с которым работаете, писался для старых версий PHP)
- Переписать функцию с использованием специальных функций подсчёта и обработки переданных аргументов:
func_num_args(),func_get_arg(),func_get_args()(думаю, такой вариант устарел и будет медленее первого)