您的位置:首页 > 编程语言 > PHP开发

php数组存到文件的实现代码

2014-02-21 09:55 633 查看
  php的数组十分强大,有些数据不存入数据库直接写到文件上,用的时候直接require

  第一次分享代码;

  (实际中有用到把数组存在到文件中的功能,不过分享的代码跟实际应用中的有点不同)

  代码1:

  <?php

  //数组转存为文件

  //by

  function cacheArr(&$data){

  if(!$data)throw new Exception('数组不能为空');

  foreach($GLOBALS as $key=>$value){

  $str=$GLOBALS[$key];

  $GLOBALS[$key]='changed';

  if($data=='changed'){

  $strName=$key;

  break;

  }

  $GLOBALS[$key]=$str;

  }

  ob_clean();

  ob_start();

  echo "<?php\n";

  function echoArr($arr,$arrName){

  $arrCount=count($arr);$i==0;

  foreach($arr as $key=>$value){

  ++$i;

  if(is_array($value)){

  echo "\n".(is_numeric($key)?$key:'\''.$key.'\'')。'=>array(';

  echoArr($value,$arrName.(is_numeric($key)?'['.$key.']':'[\''.$key.'\']'));

  if($i!=$arrCount)echo '),';

  else echo ')';

  continue;

  }

  if($i!=$arrCount)echo ((is_numeric($key))?$key:'\''.$key.'\'')。'=>'.(is_numeric($value)?$value:'\''.$value.'\'')。',';

  else echo ((is_numeric($key))?$key:'\''.$key.'\'')。'=>'.(is_numeric($value)?$value:'\''.$value.'\'');

  }

  }

  echo '$'.$strName.'=array(';

  echoArr($data,'');

  echo ');';

  echo "\n?>";

  $file=fopen($strName.'.arr.php','w');

  fwrite($file,ob_get_contents());

  fclose($file);

  ob_clean();

  return true;

  }

  ?>

  代码2:

  <?php

  //存储数组

  $hello=array(1=>'test',2=>array('hello123'));

  cacheArr($hello);

  unset($hello);

  //读取数组

  //by

  require 'hello.arr.php';

  print_r($hello);

  ?>

  测试的时候注意下变量问题。包括定义的全局变量 www.tfjy386.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: