i:2;s:9:"www.xx.com";i:3;s:8:"qq.xx.com";
怎么把9修改成10,8修改成9,就是s的值+1
因为本来是
i:2;s:9:"www.x.com";i:3;s:8:"qq.x.com";
这样的,正确了,现在我想修改成 xx.com这样的形式,这样的话s就必须加1,请问怎么解决?

解决方案 »

  1.   

    直接$ser = serialize($obj);就好了
      

  2.   

    恩,意思是这样的我在一个测试好了的域名下面,比如x.com下面写好的测试数据,现在更换域名为xx.com,所以那个s的值的大小就应该加一请问怎么批量的把s的值给加1呢?
      

  3.   

    $t = 'i:2;s:9:"www.xx.com";i:3;s:8:"qq.xx.com";';$t = preg_replace('/s:(\d+):/e', "'s:'.($1+1).':'", $t);
    echo $t;
    i:2;s:10:"www.xx.com";i:3;s:9:"qq.xx.com";
      

  4.   


    $str = 'i:2;s:9:"www.xx.com";i:3;s:8:"qq.xx.com"';
    $a = preg_match_all('/;s:(.*?):/','i:2;s:9:"www.xx.com";i:3;s:8:"qq.xx.com"', $match);
    function addone($item)
    {
        return ';s:'.++$item.':';
    }
    $str2 = str_replace($match[0], array_map('addone', &$match[1]), $str);
    echo $str2;exit;傻瓜点的,呵呵
      

  5.   

    读出来后 unserialize,再直接操作数组不行吗?
      

  6.   

    谢谢大家的热情帮助
    在MYSQL里面可以实现吗?