首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHP更新MySQL数据库中的序列化数据?

问如何使用PHP更新MySQL数据库中的序列化数据?
EN

Stack Overflow用户
提问于 2016-11-04 20:03:41
回答 1查看 323关注 0票数 0

以下是存储在MySQL数据库中的序列化数据:

代码语言:javascript
复制
sizes_0#10_1$shape_0#20$bannertype_0#20$sizes_1#1_3$shape_1#20$

如何从上述数据中删除sizes1?

EN

回答 1

Stack Overflow用户

发布于 2016-11-04 20:19:30

首先,你应该反序列化数据:

代码语言:javascript
复制
$string = 'sizes_0#10_1$shape_0#20$bannertype_0#20$sizes_1#1_3$shape_1#20$';

function custom_unserialize($string) {
    return array_map(function($token) {
        return explode('#', $token);
    }, explode('$', $string));
}

$data = custom_unserialize($string);

然后,您可以删除sizes1条目:

代码语言:javascript
复制
$data_without_sizes_1 = array_filter($data, function($data) {
    return $data[0] !== 'sizes_1';
});

最后,您可以再次序列化数据:

代码语言:javascript
复制
function custom_serialize(array $data) {
    return implode('$', array_map(function($entry) {
        return implode('#', $entry);
    }, $data));
}

$serialized_string = custom_serialize($data_without_sizes_1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40422219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档