疯狂Erlangyueming.blog.chinaunix.net
yueming
全部博文(921)
mnesia(1)
Flex框架(0)
mxml(0)
AS3(0)
MongoDB(1)
NOSQL(4)
关系型(Mysql)(0)
redis(49)
gevent(2)
Django(7)
Twisted(94)
wxpython(0)
Magento文档翻译(0)
C/C++(4)
AMP(9)
平面&三维设计(0)
网页三剑客&&html(0)
asp&&sqlserver(0)
2020年(1)
2019年(3)
2018年(3)
2017年(6)
2016年(47)
2015年(72)
2014年(25)
2013年(72)
2012年(125)
2011年(182)
2010年(42)
2009年(14)
2008年(85)
2007年(89)
2006年(155)
无色T恤
13790913
wanglian
swsw23
无赖皮肤
zhuqing_
qq203586
hk_sean
jiannma
saberwen
nowhere
__s1ng我
kubernet
wuhanyan
weiyunyi
refreshR
格伯纳
yuankk8
分类:
2010-08-22 23:04:37
<?php/*** 将一个数组写入文件** $file 文件路径* $array 需要写入文件的数组* $arrayName 缓存文件中该数组的名称*/function arrayToFile($file,$array,$arrayName){file_put_contents($file,'.$arrayName.'='.arrayToStr($array).'; ?>');}/*** 将一个数组还原为字符串** $array 数组*/function arrayToStr($array){if (is_string($array)) return '\''.str_replace('\'','\\\'',$array).'\'';if (is_numeric($array)) return $array;if (is_bool($array)) return $array ? 'true' : 'false';if (is_null($array)) return '\'\'';$arrayStr = '';foreach ($array as $key => $value){$arrayStr .= ','.(is_string($key) ? '\''.$key.'\'' : $key).'=>'.arrayToStr($value);}return 'array('.substr($arrayStr,1).')';}?>
/** * 数组转换成字串 * @param array $array 要转换的数组 * @param int $level 数组的层次 * @return string 返回转换后的字符串 */function arrayeval($array, $level = 0) { $space = ''; for($i = 0; $i <= $level; $i++) { $space .= "\t"; } $evaluate = "Array\n$space(\n"; $comma = $space; foreach($array as $key => $val) { //addcslashes($key, '\'\\');只对'与\进行转义 $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key; //如果$key不是数字,则设置为字符串,如果是数字,则直接取数字 $val = !is_array($val)&&(!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12 || substr($val, 0, 1)=='0') ? '\''.addcslashes($val, '\'\\').'\'' : $val; //如果$val不是数字,则设置为字符串,如果是数字,则直接取数字 if(is_array($val)) { //如果是数组,则再一次进行转换 $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); } else { $evaluate .= "$comma$key => $val"; } $comma = ",\n$space"; } $evaluate .= "\n$space)"; return $evaluate;}
上一篇:用php写的一个HTTP下载类
下一篇:jQuery传递数组
chinaunix网友2010-12-07 11:38:31
貌似很麻烦啊 file_put_contents($file,var_export($array,true));
chinaunix网友2010-08-25 08:38:32
Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com
登录 注册