开发者社区> 问答> 正文

php中,将某数组以blob存入数据库,取出来后如何转换成数组?

php中,将某数组以blob存入数据库,取出来后如何转换成数组?
这是部分数据库中取出来的数据:user|a:11:{s:3:"uid";s:1:"8";s:5:"email"
我想将它转换成数组,如何实现?

展开
收起
落地花开啦 2016-06-13 14:45:40 3445 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    首先,你无法把原生的 数组以任何方式存入数据库 。
    不管 BLOB还是 TEXT都不行 。
    想要保存,必须把数组转换成字符串的形式,这个过程就是所谓的 序列化。
    序列化不拘泥于算法,你可以用任何一种可以将数组和字符串互相转换的方法。
    用于读取还可以尝试 , 不建议用于修改数据库里面的原始内容 ...

    <?php
    /* this is the blob data read from database ... */
    $string = 'PUT_YOUR_DATA_HERE';
    
    /* i guess string always start with name| ... */
    $parts = explode( '|', $string, 2 );
    
    /* now we will trying to restore two parts ... */
    $$parts[0] = unserialize( $parts[1] );
    
    /* i registered a new variable which name as same as 1st part ... */
    print_r( $user );

    最后的变量名字就是你的原始数据里面第一个 | 之前的内容 .

    2019-07-17 19:36:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载