php中,将某数组以blob存入数据库,取出来后如何转换成数组?
这是部分数据库中取出来的数据:user|a:11:{s:3:"uid";s:1:"8";s:5:"email"
我想将它转换成数组,如何实现?
首先,你无法把原生的 数组以任何方式存入数据库 。
不管 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 );
最后的变量名字就是你的原始数据里面第一个 | 之前的内容 .
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。