在用PHP记录日志,或者是 Ajax 请求出错想要 debug 的时候。我们一般都会将信息写入到一个指定的文件
当中。然后根据相应的信息来处理问题。
比如笔者最喜欢在用 Ajax 取不到数据的时候,在PHP脚本里面加上下面一段代码

复制代码代码如下:
$fp = fopen('./a.txt', 'a+b'); 
fwrite($fp, $content); 
fclose($fp); 

但是,这里有一个问题。那就是 $content 是一个数组怎么办?
你可能会说,我循环输出。那要是多维数组呢?
我只是为了 debug 用得着搞得那么累吗。
这里你可以使用 var_export() .
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是
其返回的表示是合法的 PHP 代码。
可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

复制代码代码如下:
$fp = fopen('./a.txt', 'a+b');
fwrite($fp, var_export($content, true));
fclose($fp);

注意 var_export() 的第二个参数需要设置为 true 才表示取得返回值。要不然是直接输出
另外,如果你的 $content 只是一个数组,而不包含其他的内容的话
你也可以用 print_r()
同样的,print_r() 的第二个参数也要设置为 true

复制代码代码如下:
$fp = fopen('./a.txt', 'a+b');
fwrite($fp, print_r($content, true));
fclose($fp);

解析PHP中如何将数组变量写入文件的更多相关文章

  1. 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败

    #pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...

  2. c++多个文件中共用一个全局变量 变量跨文件使用

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12047602.html 虽然很多博客都写过这个了 但是 我还是继续补充的详细一点吧  毕竟很多 ...

  3. block中无法使用C数组变量

    在Objective-C的block中无法使用C数组,即使我们不对C数组做任何改变,编译的时候也会报错: #include <stdio.h> int main() { const cha ...

  4. Linux中涉及到环境变量的文件

    1. 系统级 (a) /etc/profile : 在用户登录操作系统时,定制用户环境的第一个文件,应用于登录的每一个用户 ==> 该文件一般调用/etc/bash.bashrc文件 (b)/e ...

  5. 解决在web项目使用log4j中无法将log信息写入文件

    这是log4j.properties中关于的配置 log4j.appender.appender2.File=F:/myeclipseworkspace2/SecondBook2/log/second ...

  6. python中使用logging将日志写入文件或输出到控制台

    import logging import os class Logger: def __init__(self, name=__name__): # 创建一个loggger self.__name ...

  7. vim中E121:无法打开并写入文件解决办法

    1.使用命令  :w !sudo tee % 保存即可. 其中: 冒号(:)表示我们处于vim的退出模式: 感叹号(!)表示我们正在运行shell命令: sudo和tee都是shell命令: %表示从 ...

  8. vim中 E212:无法打开并写入文件的解决办法

    很简单,就是用管理员身份打开这个文件 不要被网上的一些乱七八糟的迷惑了 sudo vim ....... 解决了问题请点个赞,谢谢

  9. 定义一个共享数据块DB1 在DB1中定义一个数组 用程序 访问数据里面的某一个成员或者地址连续的成员

    提纲 : 定义一个共享数据块 DB1 在DB1 中定义数组 用SFC21 实现 实现全部数组元素的赋一样的值 实现 给数组中的某一个元素赋值 实现 对数组中的全部元素赋值 实现将数组中的某个 或者 某 ...

随机推荐

  1. Gas Station——又是一道经典问题

    There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...

  2. PHP需要学习成长路径

    第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支 ...

  3. 使用css做图标

    首先原理是: 请一步一步粘贴代码,慢慢品味.其实,很简单... 1.首先三角形的前身是一个普通的矩形-正方形||长方形?ok! <div class='box'></div> ...

  4. spawn-fcgi出错处理

    /usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 9002 -C 25 -f /usr/local/nginx/cgibin/lzgFastCGI 添加 ...

  5. macos不能打开windows samba共享问题(转载)

    转自:https://www.macx.cn/thread-2095377-1-1.html?mod=viewthread&tid=2095377&extra=page%253D1&a ...

  6. POJ 2777 Count Color(线段树 + 染色问题)

    传送门:Count Color Description Chosen Problem Solving and Program design as an optional course, you are ...

  7. vue-music 关于Player (播放器组件)--播放模式

    播放器播放模式有三种,顺序播放,单曲循环,随机播放,定义在vuex 中的字段为 mode.点击切换播放模式的图标.切换模式判断是否为随机播放,如果是随机播放模式,则取得sequenceList 列表数 ...

  8. Codeforces 1131 F. Asya And Kittens-双向链表(模拟或者STL list)+并查集(或者STL list的splice()函数)-对不起,我太菜了。。。 (Codeforces Round #541 (Div. 2))

    F. Asya And Kittens time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  9. 转:windbg调试堆

    转:http://www.cnblogs.com/dsky/archive/2013/05/15/3079363.html 简评: 代码中采用malloc/free进行堆申请,实际调用的仍然是Heap ...

  10. Xamarin.iOS真机测试报错

    Xamarin.iOS真机测试报错   错误信息:The MinimumOSVersion inside Info.plist does not include the device version( ...