解析PHP中如何将数组变量写入文件

在用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);

时间: 2024-11-05 13:49:18

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

block中无法使用C数组变量

在Objective-C的block中无法使用C数组,即使我们不对C数组做任何改变,编译的时候也会报错: #include <stdio.h> int main() { const char text[] = "hello"; //声明数组类型变量 void (^blk)(void) = ^{ printf("%c\n", text[2]); //只是读取数组变量 }; } 这是编译之后的结果: 解决的办法是使用指针声明数组: #include <

使用C语言为python编写动态模块(1)--从底层深度解析python中的对象以及变量

楔子 我们知道可以通过使用C语言编写动态链接库的方式来给python加速,但是方式是通过ctypes来加载,通过类CDLL将动态链接库加载进来得到一个对象之后,通过这个对象来调用动态链接库里面的函数.那么问题来了,我们可不可以使用C语言为python编写模块呢?然后在使用的时候不使用ctypes加载动态库的方式,而是通过python的关键字import进行加载. 答案是可以的,我们知道可以通过编写py文件的方式来得到一个模块,那么也可以使用C语言来编写C源文件,然后再通过python解释器进行编

php中超全局数组变量$_GET和$_POST以及单引号和双引号的区别

1,$_GET的传参是在地址栏明文显示的,$_POST是通过http主体请求,页面上看不到(通过firebug可以查看): 2,http并没有明确规定$_GET和$_POST所能提交的数据的限制,$_GET受浏览器和web服务器的相关设置,$_POST也受web服务器以及php.ini中的相关设置而定,$_GET一般提交数据的大小不超过2k: 3.从设定上来说$_GET一般用于获取或查询数据而进行传参,$_POST一般用于更新,插入,删除数据而进行传参,用$_POST提交数据相对于$_GET安全

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

1. 系统级 (a) /etc/profile : 在用户登录操作系统时,定制用户环境的第一个文件,应用于登录的每一个用户 ==> 该文件一般调用/etc/bash.bashrc文件 (b)/etc/environment: 登录时,使用的第二个文件,读取用户本身的profile前,设置环境文件的环境变量 ==>系统级文件,只在登陆Linux系统时生效,所以需要利用source命令或者重启系统 2. 用户级(位于家目录下) (a)~/.profile: 每个用户都可使用该文件输入专用于自己使用

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

这是log4j.properties中关于的配置 log4j.appender.appender2.File=F:/myeclipseworkspace2/SecondBook2/log/secondbook.log 在这里需要注意两个问题: 1. 必须写绝对路径,如果不写绝对路径,log信息只能输入到console.具体是为什么我也不知道. 2. 路径分隔符为 / .

C#异步将文本内容写入文件

在C#/.NET中,将文本内容写入文件最简单的方法是调用 File.WriteAllText() 方法,但这个方法没有异步的实现,要想用异步,只能改用有些复杂的 FileStream.WriteAsync() 方法. 使用 FileStream.WriteAsync() 有2个需要注意的地方,1是要设置bufferSize,2是要将useAsync这个构造函数参数设置为true,示例调用代码如下: public async Task CommitAsync() { var bits = Enco

0X02写入文件

''' 保存数据的最简单的方式之一是将其写入到文件中.通过将输出写入文件,即便关闭包含程序输出的终端窗口,这些输出也依然存在:你可以在程序结束运行后查看这些输出, 可与别人分享输出文件,还可编写程序来将这些输出读取到内存中并进行处理. ''' filename = '/home/aaron/桌面/biaoge/htmlcade.txt' with open(filename,'w') as file_object: file_object.write("I LOVE Programming.&q

【java】解析java中的数组

目录结构: contents structure [-] 一维数组 1,什么是一维数组 2,声明一维数组的三种方式 二维数组 1,什么是二维数组 2,声明二维数组的3种方式 3,二维数组的遍历示例 数组在内存中的空间分配情况 各种数据类型在声明完毕后的默认初始值 解析数组中length属性 java中的数组是对象吗 创建数组对象的模板在哪里 java数组中.lenght属性的来源 参考文章 1,一维数组 1.1 什么是一维数组 一维数组就是在内存连续分配的一段存储空间. 1.2 声明一维数组的三

php中的注释、变量、数组、常量、函数应用介绍

php中的注释.变量.数组.常量.函数应用介绍 本文将详细介绍php中的注释.变量.数组.常量.函数应用,需要的朋友可以参考下 php中单引号与双引号的区别? 1. 由下可看出,双引号的变量是解析并输出,而单引号的变量不解析. 2.单引号的解析速度比双引号的快 3. 对于单引号来说,只有两个转义 \',\\ 4. 除了上述两个转义字符,其他都原样输出. 5. 对于双引号来说,可转义字符除\\,\',\"之外,还有\t, \r , \n 等 6.除了单引号和双引号用来声明字符串变量外,还有here