问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php怎样把一个数组写入一个文件

发布网友 发布时间:2022-04-18 12:44

我来回答

2个回答

热心网友 时间:2022-04-18 14:13

方法一:

//将一个测试的数组写入一个PHP文件:

<?php //要写入PHP文件的数组 $write_array = array( '1' => 'oneone', '2'
=> 'two', '3' => 'three', '4' => 'four','5' => 'five' );
//字符串处理 $string_start = "<?php\n"; $string_process =
var_export($write_array, TRUE);$string_end = "\n?>"; $string =
$string_start.$string_process.$string_end; //开始写入文件
echofile_put_contents('test_array.php', $string); ?>

这里用到了两个函数:

1,var_export():
·var_export — 用来输出或返回一个变量的字符串表示,它和 var_mp() 的区别是,var_export()
可以用来返回关于传递给该函数的变量的结构信息,并且其返回的表示是合法的 PHP 代码如果 “echo
$string_process;”,则可以看到输出结果:

array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )

而它就是我们要写入 test_array.php 文件的内容(除去 php 标签);

·var_mp() 函数用来打印变量的相关信息,它只用来“打印”,而不会返回值,它的原型是 void var_mp(……),我们来 “var_mp($string_process);”,则可以看到输出结果:

string(86) "array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )"

可以看到输出的string(86) “…”,再一次说明了 var_export() 返回的是一个字符串。

2,file_put_contents():
file_put_contents — 将一个字符串写入文件,原型是 int file_put_contents ( string
filename, string data [, int flags [, resource context]]
),这里我们只用到了两个参数,”string filename”:要写入的文件名;”string data”:字符串数据;
此函数返回写入到文件内数据的字节数,如果我们 “echo file_put_contents(’test_array.php’, $string);”,则会输出一个整数 :95。

因为输出的 array() 占了 86 个字节,还有的 $string_start 和 $string_end 又占了 9 个字节,转义字符 换行符 在这里只占 1 个字节。(不知道这样解释恰当不恰当,还有望大家多多指正)

方法二:json_encode()

我们常见一些网站在做ajax时返回JSON格式的数据:
返回的是json格式的数据返回的是json格式的数据

这有什么好处那?很显然前端在接到返回的数据时可以直接使用,而不用再用eval_r('(+ returnString +)')或者 $.parseJSON(returnString ) (jQuery的函数)来转化为js对象,这样显然为用户省电了。。。
在网上搜索了一下,这个问题在搜索中文信息的时候比较少,一些说是返回json的都是在前端进行的转化处理,根本不是返回JSON格式,其实返回json相当的简单。
原来的数据就是JSON格式

下例来自《锋利的jQuery》:

$(function(){

$('#send').click(function() {

$.getJSON('http://blog.meituo.net/wp-content/uploads/php_return_json/test.js', function(data) {

$('#resText').empty();

var html = '';

$.each( data , function(commentIndex, comment) {

html += '<div class="comment"><h6>' +
comment['username'] + ':</h6><p class="para">' +
comment['content'] + '</p></div>';

})

$('#resText').html(html);

})

})

})

你需要做的就是将数据存储为格式正确的 .json或者.js 文件。以下为示例所传送的json格式的数据

[

{

"username": "张三",

"content": "沙发."

},

{

"username": "李四",

"content": "板凳."

},

{

"username": "王五",

"content": "地板."

}

]
php输出JSON格式

那么php如何输出json格式?php 使用json_encode函数,然后jQuery使用datatype:json 就可以了嘛? 它的输出如下:
php 使用json_encode函数,jQuery使用datatype:json的返回类型php 使用json_encode函数,jQuery使用datatype:json的返回类型

显然并非所愿。还是字符串,到底怎么实现?其实很简单,只要在php文件头部加入以下代码:
header('Content-type: text/json');

这个头就是告知此文件输出类型为 json,这种形式我们见的最多的是验证码——php输出验证图片,有时php可以输出css文件,js文件等做一些有趣的事情。好的,我们测试一下吧。查看示例

示例代码:

< ?php

header('Content-type: text/json');

$fruits = array (

"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),

"numbers" => array(1, 2, 3, 4, 5, 6),

"holes" => array("first", 5 => "second", "third")

);

echo json_encode($fruits);

?>

热心网友 时间:2022-04-18 15:31

http://jingyan.baidu.com/article/e5c39bf5aed2f239d76033a8.html
看这个帖子, 有代码提示
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请大家看看电脑配置怎么样,值多少钱,玩大型网游,页游会不会卡 帮忙看一下旧台式电脑能卖多少钱,谢谢 高考文科考了590,排名3455,福建的,想去外省的本一,能报哪里,急啊= = 华侨大学云南省高考分数为522的能从商学院转建筑学院吗? 厦门华侨大学录取 高考志愿填报应该注意哪些问题 成熟男人戴手表好看吗,成熟男人戴什么手表? 金铲铲之战金色神将阵容怎么搭-金铲铲之战金色神将阵容搭配攻略 金铲铲之战赌蜘蛛阵容推荐 蛛后主C装备搭配攻略 金铲铲之战仙灵蜘蛛阵容搭配推荐 保险公司的产品是什么? 保险行业中的产品宽度 孩子上小学三年级了,学习始终不太主动,应该怎么办? 小学生不主动学习,遇到这种情况该怎么办? 贷款买车合算吗?具体怎么操作?能贷几年?利息多少? 我贷款购车还款期现是2年,金融平台的还款合约怎么会是十年呀? 我想买车!贷款可以年供吗? 有谁可以帮我做一个选股公式(大智慧软件所用),要求: 选出一分钟成交量在一万手以上的个股。 请老师将堪称一绝和百万会员公式合并在一起做成选股公式。 我买车,向银行以抵押消费贷款的方式贷款,可以10年15年的还吗 找银行零首付购车,可不可以十年还清 请高手把大智慧公式(百万导弹)改成选股公式,导弹出现预警,谢谢! 贷款买房,你们的月供工资是多少 伤口化脓用消毒水消毒然后用百多邦软膏擦,还有擦什么 所有图片怎么合成一个文件 伤口要用什么东西消毒擦伤 别克凯越发 ECM是什么? ECM 音乐 汽车中ECM TCM是指什么? 水垢用什么东西可以去除啊? 轿车上高速是如何缴费的?是怎样的流程? 请问蚂蚁通证和蚂蚁金服是同公司吗? 我是新手,请问轿车上高速是如何缴费的 什么是 浏览器进程 有人知道打开一个浏览器以后。你的电脑后台出现N个浏览器进程都是干嘛的吗?一个网页却要开那么多进程? 怎样解决浏览器进程过多影响电脑运行速度 联农易货通证有客服?支付密码忘记了无法修改! 被人骗1000元,是用捷贝通行证支付宝储值代付走的。求大神 支付宝通行证一家人办一个可以吗? 百度浏览器一开就8个进程?正常吗? 如何控制 Internet Explorer 浏览器的进程数量 为什么360极速浏览器进程这么多 我只打开一个窗口 任务管理器中浏览器进程数有十几个 好慢电脑 正常的IE进程是什么 火狐、google浏览器的进程名称 谢谢您的帮助 紫鑫药业的PE分布图 裤子掉色把皮肤染黑了怎么办? 网页显示异常 网页显示不正常 你跟男友发信息的时候撤回了两条消息,他还问你撤回的什么,是什么心态?