转自:http://www.enjoyphp.com/2008/development/php/php-memory-array/
在Coding过程中经常会碰到用文件存储数组的情况,比如做缓存文件等等等等。下面总结下文件存储数组的三种常用方法。
一、return array
01 |
<?php //存储数组的文件array.php |
02 |
return Array ( |
03 |
"db_host1" => 123, |
04 |
"db_host2" => 123, |
05 |
"db_host3" => 123, |
06 |
"db_host4" => 123, |
07 |
"db_host5" => 123, |
08 |
"db_host6" => 123, |
09 |
"db_host7" => 123, |
10 |
"db_host8" => 123, |
11 |
"db_host9" => 123, |
12 |
"db_host10" => 123, |
13 |
"db_host11" => 123, |
14 |
"db_host12" => 123, |
15 |
"db_host13" => 123, |
16 |
"db_host14" => 123, |
17 |
"db_host15" => 123, |
18 |
"db_host16" => 123 ); |
19 |
?> |
使用进直接require ‘array.php’ 即可:
1 |
<? |
2 |
$file = './arr.php'; |
3 |
$arr = require $file; |
4 |
?> |
二、序列化
1 |
<?php |
2 |
//存储数组的文件ser.php |
3 |
return |
4 |
'a:16:{s:8:"db_host1";s:3:"123";s:8:"db_host2";s:3:"123";s:8:"db_host3";s:3:"123";s:8:"db_host4";s:3:"123";s:8:"db_host5";s:3:"123";s:8:"db_host6";s:3:"123";s:8:"db_host7";s:3:"123";s:8:"db_host8";s:3:"123";s:8:"db_host9";s:3:"123";s:9:"db_host10";s:3:"123";s:9:"db_host11";s:3:"123";s:9:"db_host12";s:3:"123";s:9:"db_host13";s:3:"123";s:9:"db_host14";s:3:"123";s:9:"db_host15";s:3:"123";s:9:"db_host16";s:3:"123";}'; |
5 |
?> |
调用后对文件进行反序列化即可得到数组:
1 |
<? |
2 |
$file = './ser.php'; |
3 |
$arr = unserialize(require $file); |
4 |
?> |
三、存为ini配置文件形式
先举个例子:文件名ini.php
01 |
<?php |
02 |
exit; |
03 |
?> |
04 |
db_host1 =123 |
05 |
db_host2 =123 |
06 |
db_host3 =123 |
07 |
db_host4 =123 |
08 |
db_host5 =123 |
09 |
db_host6 =123 |
10 |
db_host7 =123 |
11 |
db_host8 =123 |
12 |
db_host9 =123 |
13 |
db_host10 =123 |
14 |
db_host11 =123 |
15 |
db_host12 =123 |
16 |
db_host13 =123 |
17 |
db_host14 =123 |
18 |
db_host15 =123 |
19 |
db_host16 =123 |
用parse_ini_file直接对文件进行解析即可得到数组:
1 |
<? |
2 |
$file = './ini.php'; |
3 |
$arr = parse_ini_file($file2); |
4 |
?> |
上面介绍的ini配置文件的写法只是最简单的形式,想看精彩的写法请看php.ini
,可以在ini文件中加注释、可以使其返回的数组为二维数组。
总结下上面三种方法,经测试在效率上差别不是很大;当数组是一维的情况下本人更喜欢用ini的形式——直观;如果要求返回的数组较复杂的话ini形式就不太适应,可以用return array形式或序列化。

浙公网安备 33010602011771号