php将数组或对象原样写入或保存到文件有三种方法可以实现

第一种方法是使用serialize,

第二种方法是使用print_r,

第三种方法是使用var_export,

本文章向大家介绍这三种方法是如何将数组写入到文件的,需要的朋友可以参考一下。

第一:serialize方法

使用 serialize 将数组序列化,存储在文件中;调用时,再使用 unserialize 还原。

<?php
$file='./cache/phone.php';
$array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));
//缓存
if(false!==fopen($file,'w+')){
file_put_contents($file,serialize($array));//写入缓存
}
//读出缓存
$handle=fopen($file,'r');
$cacheArray=unserialize(fread($handle,filesize($file)));

第二:print_r方法

用print_r 将数组打印到txt文件中。

<?php
$b = array (
'm' => 'monkey',
'foo' => 'bar',
'x' => array ('x', 'y', 'z')); $results = print_r($b, true);
file_put_contents('filename.txt', print_r($b, true));
?>

第三:var_export方法

用var_export 直接将数组以完整数组的形式存储到文件中。

<?php
$file='./cache/phone.php';
$array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));
//缓存
$text='<?php $rows='.var_export($array,true).';';
if(false!==fopen($file,'w+')){
file_put_contents($file,$text);
}else{
echo '创建失败';
}

将对象完整的存储并追加到文件末尾

$file = "notic_" . date("Ymd") . ".log";
$ct = date("Y-m-d H:i:s", time()); file_put_contents($file, var_export($object,true)."\r\n", FILE_APPEND);

ps: 正常情况下输出到网页的数组会有限制,

php var_dump函数对数组进行打印时,对多维数组中数组的层级越多越深层,子数组会不显示,只用省略号代替。这样一来不便于程序的调试

php的var_dump函数是php模块中xdebug模块所支持的,所以接下来我们需要配置这个xdebug即可。

修改 php.ini

;设置显示最大的子节点数
xdebug.var_display_max_children=
;设置显示最大的字节数
xdebug.var_display_max_data=
;设置显示最大得层级(深度)
xdebug.var_display_max_depth=

然后重启 php 服务

systemctl reload php-fpm nginx

最新文章

  1. Android 高德地图No implementation found for long com.autonavi.amap.mapcore.MapCore
  2. Eclipse对printf()不能输出到控制台的解决方法
  3. 高效算法——A 归并排序
  4. 使用MiniProfiler调试Asp.net Mvc性能
  5. git使用之如何将github库下载到本地与如何将代码上传github
  6. selenium的操作JS命令的接口JavascriptExecutor的介绍
  7. Could not load type &#39;System.ServiceModel.Activation.HttpModule&#39; from assembly &#39;System.ServiceModel, Version=3.0.0.0,&quot;解决办法
  8. Spring Boot项目构建
  9. C# 语音合成
  10. 通过反射来读取XML格式的ControlTemplate
  11. 安装Logtail(Linux系统)
  12. C++原型模式和模板模式
  13. JavaWeb 后端 &lt;三&gt; 之 Response Request
  14. am335x gpio控制
  15. Way to MongoDB
  16. 冀永楠:OCR的应用锦集及背后技术
  17. mysql事务块处理
  18. C# 并行 反射 去掉实体属性多余空格
  19. VS调试配置外网可访问
  20. SqlServer 数据表数据移动

热门文章

  1. 【简抄】h5 新增的几个背景属性和文本属性
  2. Mac版 Slickedit 2013 v18.0.3.3 破解
  3. PLSQL Developer 12 保存登录的用户名和密码
  4. C++拾遗(六)——复制控制
  5. Python+selenium之带unittest的脚本分析
  6. jsHint-静态代码检查工具eclipse中使用
  7. 修改字体篇:css3@font-face@字体转换@浏览器字体支持
  8. 2018.5.6 解决问题:oracle------ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
  9. NOIP模拟赛 密室逃脱
  10. 谷歌放弃“不作恶” Alphabet要“遵守法律互相尊重”