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";}"