php中,将某数组以blob存入数据库,取出来后如何转换成数组?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

落地花开啦 2016-06-13 14:45:40 1724

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

PHP 数据库
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:36:00

    首先,你无法把原生的 数组以任何方式存入数据库 。
    不管 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 );

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

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题