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. linxu安装OSX

    下载OS X Mavericks 10.9 Retail VMware Image安装vmware10.01打开unlock-all-v110,运行install.sh 打开vmx. 更新系统. 安装 ...

  2. POJ 1637 混合图欧拉回路

    先来复习一下混合图欧拉回路:给定一张含有单向边和双向边的图,使得每一点的入度出度相同. 首先对于有向边来说,它能贡献的入度出度是确定的,我们不予考虑.对于无向图,它可以通过改变方向来改变两端点的出入度 ...

  3. (转载)APC支持php5.4了

    (转载)http://www.neatstudio.com/archives/?article-2061.html 时隔一年多,APC终于又更新了,这次更新最大的就是支持PHP5.4:- Add PH ...

  4. sql语句:union

     sql语句中,join,left join中,是将两个或多个表横向连接,而有时,我们需要将几个表或1个表纵向连接,甚至是连接自身,就比如,某些数据库脚本特别不合理的时候,但我们又不能说啥 ....郁 ...

  5. [Design Pattern] Adapter Pattern 简单案例

    Adapter Pattern, 即适配器模式,用于连接两个不兼容的接口,属于结构类的设计模式. 或者叫做,转换器模式. 下面是一个转换器模式简单案例. 假设已有 AudioPlayer 专门播放 m ...

  6. SQL - 复制数据库中的一行

    insert into MyTable(field1, field2, id_backup) select field1, field2, uniqueId from MyTable where un ...

  7. JavaScript MVC 框架[转载]

    MVC,MVP 和 MVVM 的图示 http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html http://blog.nodejitsu.com ...

  8. AIX Study之--AIX网卡配置管理(ent0、en0、et0)

    AIX Study之--AIX网卡配置管理(ent0.en0.et0) 1.查看AIX系统网卡信息: [root@aix211 /]#lsdev |grep et  en0 Available 1L- ...

  9. hdu3308LCIS(线段树,点更新,段查寻,查寻时一定要注意跨越时如何计算)

    Problem Description Given n integers. You have two operations: U A B: replace the Ath number by B. ( ...

  10. HDU 2485 Destroying the bus stations (IDA*+ BFS)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2485 题意:给你n个点,m条相连的边,问你最少去掉几个点使从1到n最小路径>=k,其中不能去掉1, ...