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的说明相关推荐

  1. 【15】Vue:02-Vue表单基本操作、表单修饰符、自定义指令、计算属性computed、侦听器watch、过滤器、生命周期、数组变异方法、替换数组、动态数组响应数据、图书列表案例、TODOS案例

    文章目录 day02 Vue常用特性 表单基本操作 表单修饰符 自定义指令 Vue.directive 注册全局指令 Vue.directive 注册全局指令 带参数 自定义指令局部指令 计算属性 c ...

  2. php 储存数组,php将数组储存的方法总结

    php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件. 那么如何使用 php 将数组保存为文本格式的文件呢? 下面分享 ...

  3. Go 学习笔记(10)— 数组定义、数组声明、数组初始化、访问数组、数组相等、向函数传递数组

    1. 数组定义 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 2. 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语 ...

  4. json数组 js html标签,js定义json对象数组 json 数组也是数组 //

    var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval('('+js ...

  5. java数组如何pop_Js数组的操作push,pop,shift,unshift等方法详细介绍

    js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首先来讲一下push和pop方法,这两个方法只会对数组从尾部 ...

  6. php 数组去重_数组去重(JavaScript 为例)

    数组去重,就是在数组中查找相同的元素,保留其中一个,去除其他元素的程. 从这句话揭示了数组去重的两个关键因素: 找到重复项 去除重复项 本文告诉你在遇到去重问题时该如何思考,并以 JavaScript ...

  7. JavaScript中的数组与伪数组的区别

    在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function). 基本数据类型:String,boolean,Number,Undefined, Null 引用数 ...

  8. php n维数组扁平化,js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解...

    数组的扁平化:将多维数组变成一维数组 对于一个像这样的嵌套数组:a=[1,[2,[3,4]],5,6]我们想要把它变成一个一维数组,有下面几种方法: 方法一:递归一 function parseArr ...

  9. 091_类数组对象转为数组

    1. 数组结构: var arr = [1001, 'zs', 18, true]; 2. 类数组对象结构: var obj = {0: 1001, 1: 'zs', 2: 18, 3: true, ...

  10. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)...

    二维数组,锯齿数组和集合 一.二维数组 二维数组: 一维数组----豆角 二维数组----表格 定义: 1.一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组 ...

最新文章

  1. 2014百度面试题目---“求比指定整数大且最小的不重复数”解答
  2. 动力节点Java培训告诉你Java线程的多功能用法
  3. linux下自定义dubbo的shell脚本
  4. Windbg+VirtualBox调用内核
  5. 配置Maven使用Nexus
  6. unityui等比例缩放_Unity 4.6-如何针对每种分辨率将GUI元素缩放到合适的大小
  7. 无线蓝牙耳机i12充电_2019年TWS新趋势:8大品牌新款真无线蓝牙耳机支持无线充电...
  8. javascript设计模式——Module
  9. java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
  10. broadcom学习心得
  11. RabbitMQ Tracing插件使用
  12. k8s Webhook 准入控制应用实践
  13. 简单的指针二叉查找树和数组二叉查找树
  14. Linux安装ST-Link GDBServer
  15. java命令执行jar包main方法指定相关依赖
  16. html5指标源码,一个超准的技术指标源码!
  17. fmc接口定义_FPGA的FMC接口详细介绍
  18. 2020年中国5G手机“期中摸底考试”:到底哪款是你的爱?
  19. EPSON 自学机械手入门记录1(仅供参考)
  20. echarts pie ajax赋值,echart-pie-ajax

热门文章

  1. paxos 练手 推进中
  2. Swift - 推送之本地推送(UILocalNotification)添加Button的点击事件
  3. jquery 鼠标事件汇总
  4. T-SQL备忘(2):聚合函数运算和NULL
  5. chajian8.com谈:SyntaxHighlighter 代码高亮
  6. Flutter StreamBuilder 实现的一个倒计时功能
  7. Linux下安装Beego:go install: cannot install cross-compiled binaries when GOBIN is set
  8. 微服务写的最全的一篇文章
  9. ubuntu16.04没有办法使用CRT,或者SSH工具的解决办法
  10. Bluetooth篇 开发实例之六 蓝牙RSSI计算距离