php var export 数组,PHP关于数组缓存JSON、serialize、var_export的说明
1、JSONJSON缓存变量主要是使用json_encode和json_decode函数,其中json_encode可以将变量变成文本格式存储到文件。// Store cache
file_put_contents($cacheFilePath, json_encode($DataArray));
// Retrieve cache$
DataArray = json_decode(file_get_contents($cacheFilePath));
缺点:
只对UFT-8的数据有效,对stdClass类的示例有效;
2、serialize序列化主要使用serialize和unserialize函数,都是以文本方式存储。// Store cache
file_put_contents($cacheFilePath, serialize($DataArray));
// Retrieve cache
$DataArray = unserialize(file_get_contents($cacheFilePath));
缺点:
编码后的文本对人来说是不可读的,无法被其他语言的系统引用;
3、var_export用var_export函数将变量内容打印到一个PHP文件(变量)里,使用include的方式来重新获取变量内容。因此生成的缓存文件时一个php文件。// Store cache
file_put_contents($cacheFilePath, "<?php \nreturn " . var_export($DataArray, true) . ";");
// Retrieve cache
$DataArray = include($cacheFilePath);
缺点:不能缓存不带__set_state 方法的对象,var_export出来的变量里不能带有影响php语法解析的内容,否则触发语法错误。
总结:var_export在编码和解码的性能上不佳,建议在数据量小的时候使用序列化的方法。
php var export 数组,PHP关于数组缓存JSON、serialize、var_export的说明相关推荐
- 【15】Vue:02-Vue表单基本操作、表单修饰符、自定义指令、计算属性computed、侦听器watch、过滤器、生命周期、数组变异方法、替换数组、动态数组响应数据、图书列表案例、TODOS案例
文章目录 day02 Vue常用特性 表单基本操作 表单修饰符 自定义指令 Vue.directive 注册全局指令 Vue.directive 注册全局指令 带参数 自定义指令局部指令 计算属性 c ...
- php 储存数组,php将数组储存的方法总结
php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件. 那么如何使用 php 将数组保存为文本格式的文件呢? 下面分享 ...
- Go 学习笔记(10)— 数组定义、数组声明、数组初始化、访问数组、数组相等、向函数传递数组
1. 数组定义 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 2. 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语 ...
- json数组 js html标签,js定义json对象数组 json 数组也是数组 //
var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval('('+js ...
- java数组如何pop_Js数组的操作push,pop,shift,unshift等方法详细介绍
js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首先来讲一下push和pop方法,这两个方法只会对数组从尾部 ...
- php 数组去重_数组去重(JavaScript 为例)
数组去重,就是在数组中查找相同的元素,保留其中一个,去除其他元素的程. 从这句话揭示了数组去重的两个关键因素: 找到重复项 去除重复项 本文告诉你在遇到去重问题时该如何思考,并以 JavaScript ...
- JavaScript中的数组与伪数组的区别
在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function). 基本数据类型:String,boolean,Number,Undefined, Null 引用数 ...
- php n维数组扁平化,js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解...
数组的扁平化:将多维数组变成一维数组 对于一个像这样的嵌套数组:a=[1,[2,[3,4]],5,6]我们想要把它变成一个一维数组,有下面几种方法: 方法一:递归一 function parseArr ...
- 091_类数组对象转为数组
1. 数组结构: var arr = [1001, 'zs', 18, true]; 2. 类数组对象结构: var obj = {0: 1001, 1: 'zs', 2: 18, 3: true, ...
- 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)...
二维数组,锯齿数组和集合 一.二维数组 二维数组: 一维数组----豆角 二维数组----表格 定义: 1.一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组 ...
最新文章
- 2014百度面试题目---“求比指定整数大且最小的不重复数”解答
- 动力节点Java培训告诉你Java线程的多功能用法
- linux下自定义dubbo的shell脚本
- Windbg+VirtualBox调用内核
- 配置Maven使用Nexus
- unityui等比例缩放_Unity 4.6-如何针对每种分辨率将GUI元素缩放到合适的大小
- 无线蓝牙耳机i12充电_2019年TWS新趋势:8大品牌新款真无线蓝牙耳机支持无线充电...
- javascript设计模式——Module
- java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
- broadcom学习心得
- RabbitMQ Tracing插件使用
- k8s Webhook 准入控制应用实践
- 简单的指针二叉查找树和数组二叉查找树
- Linux安装ST-Link GDBServer
- java命令执行jar包main方法指定相关依赖
- html5指标源码,一个超准的技术指标源码!
- fmc接口定义_FPGA的FMC接口详细介绍
- 2020年中国5G手机“期中摸底考试”:到底哪款是你的爱?
- EPSON 自学机械手入门记录1(仅供参考)
- echarts pie ajax赋值,echart-pie-ajax
热门文章
- paxos 练手 推进中
- Swift - 推送之本地推送(UILocalNotification)添加Button的点击事件
- jquery 鼠标事件汇总
- T-SQL备忘(2):聚合函数运算和NULL
- chajian8.com谈:SyntaxHighlighter 代码高亮
- Flutter StreamBuilder 实现的一个倒计时功能
- Linux下安装Beego:go install: cannot install cross-compiled binaries when GOBIN is set
- 微服务写的最全的一篇文章
- ubuntu16.04没有办法使用CRT,或者SSH工具的解决办法
- Bluetooth篇 开发实例之六 蓝牙RSSI计算距离