Мне нужно сохранить массив PHP как сериализованные данные, подходящие для системы кэширования Laravel. Мой код до сих пор с помощью node-php-serialization является:Сериализовать массив Javascript как строку PHP для кэша Laravel
var serialize=require("php-serialization").serialize;
var sernew = serialize(result, "string");
Это дает:
"s:11:"bob,dave,mark";"
Но это не работает в кэше Laravel в. Мне нужно:
"s:27:\"[\"bob\",\"dave\",\"mark\"]\";"
Может ли этот пакет сделать это? Кто-нибудь знает, как он может быть отформатирован, как указано выше?
Большое спасибо.
Дополнительная информация:
Массив, вставляться приходит из кэша, преобразуется в Javascript массив, изменен, затем преобразуется обратно в строку кэша:
rediscache.get(key, function (err, result) {
result = unserialize(result);
result = JSON.parse(result);
for(var i = result.length - 1; i >= 0; i--) {
if(result[i] === username) {
result.splice(i, 1);
}
}
var sernew = serialize(result, "string");
});
Я добавил дополнительные сведения. Я рассмотрю преобразование массива в JSON ... – samiles
Результатом, который вы получите после выполнения сращивания, является массив. Вы должны повернуть этот массив обратно в строку JSON с помощью JSON.stringify(), как я уже упоминал, и только затем сериализуем. 'var sernew = serialize (JSON.parse (результат)," строка ");' – Andrius