我在使用 PHPserialize
和unserialize
函数时遇到了一些困难。我正在将数组插入到 MySQL DB 中serialize(array)
。这是我在 DB 中的价值
a:4:{i:0;s:29:"k44L1b_bisnode.com.xlarge.png";i:1;s:28:"q44L1b_bisnode.com.large.png";i:2;s:29:"q44L1b_bisnode.com.medium.png";i:3;s:28:"q44L1b_bisnode.com.small.png";}
如果我做这样的事情
$images = unserialize( $apartment->images );
我会得到错误:ErrorException [ Notice ]: unserialize() [function.unserialize]: Error at offset 9 of 208 bytes
。$apartment
是我的 DB ORM 对象,如果我做类似的事情,echo $apartment->images
它会输出我上面的序列化字符串。
但是如果我做这样的事情
$images = unserialize( 'a:4:{i:0;s:29:"k44L1b_bisnode.com.xlarge.png";i:1;s:28:"q44L1b_bisnode.com.large.png";i:2;s:29:"q44L1b_bisnode.com.medium.png";i:3;s:28:"q44L1b_bisnode.com.small.png";}' );
它会起作用的……嗯?$apartment->images 的 var_dump() 返回
string(208) "a:4:{i:0;s:29:"k44L1b_bisnode.com.xlarge.png";i:1;s:28:"q44L1b_bisnode.com.large.png";i:2;s:29:"q44L1b_bisnode.com.medium.png";i:3;s:28:"q44L1b_bisnode.com.small.png";}"