没想到啊

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

转自: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形式或序列化。

posted on 2011-10-29 14:54  没想到啊  阅读(1294)  评论(0)    收藏  举报