php将数组存储为文本文件方法汇总

2025-05-29 0 81

php 缓存数组形式的变量,实际上就是将 php数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。那么如何使用 php数组保存为文本格式的文件呢?下面分享三种方法实现将 php 数组写入到文件以缓存数组
(1)利用serialize 将数组序列化存储为文本文件,调用时候再使用unserialize 还原

?

1

2

3

4

5

6

7

8

9

10
<?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)));

(2)自创的将数组保存为标准的数组格式,虽然保存时复杂了点但是调用时简单

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48
<?php

$file='./cache/phone.php';

$array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));

cache_write($file,$array,'rows',false);

//写入

function cache_write($filename,$values,$var='rows',$format=false){

$cachefile=$filename;

$cachetext="<?php\\r\\n".'$'.$var.'='.arrayeval($values,$format).";";

return writefile($cachefile,$cachetext);

}

//数组转换成字串

function arrayeval($array,$format=false,$level=0){

$space=$line='';

if(!$format){

for($i=0;$i<=$level;$i++){

$space.="\\t";

}

$line="\\n";

}

$evaluate='Array'.$line.$space.'('.$line;

$comma=$space;

foreach($array as $key=> $val){

$key=is_string($key)?'\\''.addcslashes($key,'\\'\\\\').'\\'':$key;

$val=!is_array($val)&&(!preg_match('/^\\-?\\d+$/',$val)||strlen($val) > 12)?'\\''.addcslashes($val,'\\'\\\\').'\\'':$val;

if(is_array($val)){

$evaluate.=$comma.$key.'=>'.arrayeval($val,$format,$level+1);

}else{

$evaluate.=$comma.$key.'=>'.$val;

}

$comma=','.$line.$space;

}

$evaluate.=$line.$space.')';

return $evaluate;

}

//写入文件

function writefile($filename,$writetext,$openmod='w'){

if(false!==$fp=fopen($filename,$openmod)){

flock($fp,2);

fwrite($fp,$writetext);

fclose($fp);

return true;

}else{

return false;

}

}

(3)利用 var_export 将数组直接保存为数组形式存储到文本文件中

?

1

2

3

4

5

6

7

8

9

10
<?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 '创建失败';

}

以上就是为大家介绍的三种php数组保存为文本格式的方法,希望对大家的学习有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php将数组存储为文本文件方法汇总 https://www.kuaiidc.com/100860.html

相关文章

发表评论
暂无评论