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

php数组存到文件的实现代码的更多相关文章

  1. 利用Apply的参数数组化来提高代码的优雅性,及高效性

    利用Apply的参数数组化来提高代码的优雅性,及高效性 Function.apply()在提升程序性能方面的技巧 我们先从Math.max()函数说起,Math.max后面可以接任意个参数,最后返回所 ...

  2. (016)给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树(keep it up)

    给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树. 因为数组是递增有序的.每次都在中间创建结点,类似二分查找的方法来间最小树. struct TreeNode { int data; Tr ...

  3. php 数组动态添加实现代码(最土团购系统的价格排序)

    最近在实现最土团购系统的价格排序功能,需要对$oc数组进行扩展,经过测试用下面的方法即可. 核心代码如下: <?php $now=time(); $oc = array( 'team_type' ...

  4. 让Eclipse不格式化数组或某段代码

    用过eclipse ctrl+shit+f的人肯定都感觉eclipse这个功能很爽. 但对于数组,有时候就不是这样了. 比如在opengl中定义一些顶点信息: int one = 0x010000; ...

  5. php数组去重的函数代码

    php中数组去重的小例子.  代码如下: <?php   /** * 数组去重复的小函数 * by www.jbxue.com */     function assoc_unique($arr ...

  6. swift2.0 字符串,数组,字典学习代码

    swift 2.0 改变了一些地方,让swift变得更加完善,这里是一些最基本的初学者的代码,里面涉及到swift学习的最基本的字符串,数组,字典和相关的操作.好了直接看代码吧. class View ...

  7. java数组随机排序实现代码

    例一 代码如下 复制代码 import java.lang.Math;import java.util.Scanner;class AarrayReverse{ public static void ...

  8. 万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!

    查找元素索引位置 基本查找 根据数组元素找出该元素第一次在数组中出现的索引 public class TestArray1 { public static void main(String[] arg ...

  9. 后缀数组【原理+python代码】

    后缀数组 参考:https://blog.csdn.net/a1035719430/article/details/80217267 https://blog.csdn.net/YxuanwKeith ...

随机推荐

  1. 14.4.5 System Tablespace 系统表空间

    14.4.5 System Tablespace 系统表空间 InnoDB 系统表空间包含InnoDB 数据目录(元数据 用于InnoDB相关对象)和是存储区域用于doublewrite buffer ...

  2. Graph Search图谱搜索

    来自百度百科的解释: Graph Search为2013年1月16日,Facebook首席执行官马克·扎克伯格(Mark Zuckerberg)在门罗帕克公司总部召开的新闻发布会上宣布推出社交搜索工具 ...

  3. SharePoint Server 2010安装图解

    SharePoint Server 2010作为MOSS 2007的升级版本,自从2009年底发布Beta版本以来就备受关注,网络上已经出现了很多相关的文章,其中也不乏中文的信息. 最近SharePo ...

  4. String的equals方法和==

    String类的对象是字符串常量,一切看起来改变了String对象的操作,其实只是改变了字符串引用变量所引用的字符串罢了. Java中的字符串存放在一个公共的存储池中,引用指向存储池中相应的位置,编译 ...

  5. 单机使用tungsten 同步mysql数据到mongodb

    [注意],当前的测试环境仅仅是一台服务器. 部署测试的tungten版本是2.1.2-xxxx; Requirements: mysql配置

  6. EMV/PBOC 解析(一) 卡片文件结构

    刚到公司老大便发我一份文档<智能卡ISO7816-4规范(中文版)>,然后就让我研究下IC智能卡数据读取和支付.身为一直做.NET开发的我对硬件啥的一无所知,各种无头绪啊,研究了两天后,稍 ...

  7. 学习之路十四:客户端调用WCF服务的几种方法小议

    最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...

  8. SQL注入语句 (很全)

    1.返回的是连接的数据库名and db_name()>02.作用是获取连接用户名and user>03.将数据库备份到Web目录下面;backup database 数据库名 to dis ...

  9. AssertValid函数学习

    转自http://tsitao.blog.163.com/blog/static/29795822006914105840496/ VC的调试中,AssertValid和Dump函数的应用 CObje ...

  10. [Unit Testing] Angular Test component with required

    export default (ngModule) => { describe('Table Item component', () => { let $compile, directiv ...