PHP函数serialize()与unserialize()

让人想犯罪 __ 提交于 2020-03-01 22:48:02

serialize — Generates a storable representation of a value,产生一个可存储的值的表示。

unserialize — Creates a PHP value from a stored representation,从已存储的表示中创建 PHP 的值。

serialize()就是将PHP中的变量如对象(object),数组(array)等等的值序列化为字符串后存储起来.序列化的字符串我们可以存储在其他地方如数据库、Session、Cookie等,序列化的操作并不会丢失这些值的类型和结构。这样这些变量的数据就可以在PHP页面、甚至是不同PHP程序间传递了。
而unserialize()就是把序列化的字符串转换回PHP的值。

//$newsID是一个通过_POST获到的数组
$Id=serialize($newsId);//将数组中的数据序列化直接存到数据库的字段中
$sql = "insert into article_specialtopic (banner,title,articleIDs)  values('$banner','$title','$Id')";
if (!mysqli_query($link,$sql))
{
    die('Error: ' . mysqli_error());
}else{
    echo 'success insert';
}
从数据库中取出数据反序列化存到数组中
$sql="select articleIDs from article_specialtopic where id=1";
$result=mysqli_query($link,$sql);
$value=$result->fetch_row();
//print_r($value[0]);
$string=(string)$value[0];
$data=unserialize($string);
print_r($data);

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!