Как с помощью pack() запаковать массив с string значениями?

155
28 апреля 2018, 16:47
// Создаю массив
$aYearColor = array_fill(0,366,'#FFFFFF');  
// Запаковываю его
$aYearColorBlob = pack('a*', ...$aYearColor);
// Распаковываю
unpack('a*', $aYearColorBlob);

Но данный способ не сработает. На выходе будет array ( 1 => #FFFFFF );

И ошибка Warning: pack(): 365 arguments unused in ...

Если массив числовой, то проблем нет, всё сработает:

$aYearOrder = array_fill(0,366,0);
$aYearOrderBlob = pack('i*', ...$aYearOrder);
unpack('i*', $aYearOrderBlob);

Прочитал, что:

Для a, A, h, H число повторений определяет то, сколько символов взято от одного аргумента данных

Но не пойму, как тогда добавить такой массив с string значениями и потом обратно его распаковать. Спасибо

Answer 1

Так как в моём случае мне нужно хранить цвет в массиве, я перевёл из 16 в 10 систему и запаковал числовой массив.

READ ALSO
Как вывести php-код в редакторе TinyMCE

Как вывести php-код в редакторе TinyMCE

В редакторе TinyMCE подключил плагин для добавления кода "codesample"

159
Выбор sql запроса через ajax, php

Выбор sql запроса через ajax, php

Помогите, как можно дописать код

189
Массовое получение и обновление SQL

Массовое получение и обновление SQL

У меня имеется следующая таблица:

155
curl ничего не возвращает

curl ничего не возвращает

На сервере (Windows 2012) стоит Apache + PHPПытаюсь подключится к Qiwi API по curl

141