加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP更新序列化数据

发布时间:2020-12-13 22:05:00 所属栏目:PHP教程 来源:网络整理
导读:我需要一些帮助来反序列化和更新数组值并重新序列化它们(使用php).基本上我希望能够反序列化字符串,更新特定键的值(不丢失其他值)并重新序列化它.我已经搜索过,似乎无法找到可行的解决方案(或者我可能只是一种性格问题). 我正在尝试更新的数组非常简单.它具
我需要一些帮助来反序列化和更新数组值并重新序列化它们(使用php).基本上我希望能够反序列化字符串,更新特定键的值(不丢失其他值)并重新序列化它.我已经搜索过,似乎无法找到可行的解决方案(或者我可能只是一种性格问题).

我正在尝试更新的数组非常简单.它具有关键和价值.

array (
    'key' => 'value','key2' => 'value2',)

我目前有,但它不起作用.

foreach(unserialize($serializedData) as $key => $val)
{
    if($key == 'key')
    {
        $serializedData[$key] = 'newValue';
    }
}

$updated_status = serialize($serializedData);

解决方法

您不能像在这里尝试那样直接写入序列化数据字符串:

$serializedData[$key] = 'newValue';

您需要将数据反序列化为数组,更新阵列,然后再次序列化.如果密钥存在,似乎您只想更新值,所以您可以这样做:

$data = unserialize($serializedData);
if(array_key_exists('key',$data)) {
    $data['key'] = 'New Value';
}
$serializedData = serialize($data);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读