我们在做缓存文件时经常会要把php代码或数组转换成字符串保存到数据库中,下面我来介绍两种把数组保存到数据库的方法。
方法一:
用serialize写入,再用unserialize输出
serialize()就是将PHP中的变量如对象(object),数组(array)等等的值序列化为字符串后存储起来.序列化的字符串我们可以 存储在其他地方如数据库、Session、Cookie等,序列化的操作并不会丢失这些值的类型和结构。这样这些变量的数据就可以在PHP页面、甚至是不 同PHP程序间传递了。
而unserialize()就是把序列化的字符串转换回PHP的值。返回的是转换之后的值,可为 integer、float、string、array 或 object如果传递的字符串不可解序列化,则返回 FALSE
| 代码如下 | 复制代码 |
|
class db { ";<br>
print_r ( $rows );<br>
}<br>
function __wakeup(){ //反序列化,<br>
$this->db();<br>
}<br>
}<br>
$chanel = new db("localhost",'root','','hdcms');<br>
//$chanel->select();<br>
session_start();<br>
$_SESSION['channel_obj'] = serialize($chanel); //将对象序列化,保存的是对象的属性,没有方法,所以要用__wakeup()
<p><br>
class ren{<br>
private $name;<br>
private $age;<br>
function __construct($name,$age){<br>
$this->name =$name;<br>
$this->age = $age;<br>
}<br>
function show(){<br>
echo "姓名是:{$this->name} 年龄是:{$this->age}";<br>
}<br>
function __sleep(){<br>
return array_keys(get_object_vars($this)); //或得数组里边的键名,序列化某些变量<br>
}<br>
}<br>
$zao = new ren("赵六",44);<br>
echo serialize($zao); //序列化(指定哪个变量序列化)</p>
<p>====================================<br>
<br>
session_start();<br>
include '59.php';<br>
$channel_obj=unserialize($_SESSION['channel_obj']); //反序列化类对象<br>
$channel_obj->select(); //有了__wakeup方法才可以起作用</p>
登录后复制 |
|
方法二:
用json_encode写入,再用json_decode输出
B2S商城系统B2S商城系统是由佳弗网络工作室凭借专业的技术、丰富的电子商务经验在第一时刻为最流行的分享式购物(或体验式购物)推出的开源程序。开发采用PHP+MYSQL数据库,独立编译模板、代码简洁、自由修改、安全高效、数据缓存等技术的应用,使其能在大浏览量的环境下快速稳定运行,切实节约网站成本,提升形象。注意:如果安装后页面打开出现找不到数据库等错误,请删除admin下的runtime文件夹和a
0
json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。
立即学习“PHP免费学习笔记(深入)”;
| 代码如下 | 复制代码 |
|
/************************************************************** $array = array
|
|
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号