写此方法的目的是,我想把一个PHP数组配置文件读进程序,添加些配置,然后在写入文件;

var_export 方法会把原来的配置打乱(比如数组序号我没有加,他自动给我加上 0,1,2,3...),而且格式不好看(缩进非常难看)。

方法及应用

<?php

$arr=array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'rd6688',
'ipFilters'=>array(
'127.0.0.1',
'::1'
),
'generatorPaths' => array (
'ext.bootstrap-theme.gii',
),
),
); function arr2str($arr,$t=0){ $str = null;
$pad = str_pad("",$t,"\t"); foreach($arr as $k=>$v){
if(is_array($v)){
if(is_string($k)){
$str.= $pad."'".$k."'=>array(\n".arr2str($v,$t+1).$pad."),\n";
}else{
$str.= $pad ."array(\n".arr2str($v,$t+1).$pad."),\n";
}
}else{
if(is_string($k)){
$str.= $pad."'".$k."'=>'".$v."',\n";
}else{
$str.= $pad."'".$v."',\n";
}
}
}
return $str; } //应用
echo "Array(\n";
echo arr2str($arr,$t=1);
echo ")";
?>

  

执行结果

Array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'rd6688',
'ipFilters'=>array(
'127.0.0.1',
'::1',
),
'generatorPaths'=>array(
'ext.bootstrap-theme.gii',
),
),
)

如果写入文件,不用 echo 直接可写入。

PHP 数组转字符串后仍保留数组格式的更多相关文章

  1. C语言入门(18)——数组与字符串

    用来存放字符量的数组称为字符数组.字符串可以看作一个数组,它的元素是字符型的. 字符数组的定义 形式与前面介绍的数值数组相同.例如: char c[10]; 由于字符型和整型通用,也可以定义为int ...

  2. C/C++知识总结 五 复合数据类型 壹(数组、字符串与string、结构)

    C/C++复合数据类型 壹(数组.结构) 数组 数组的意义.定义与创建 一.二维数组应用 字符数组与字符串处理函数 数组与指针---关系密切 数组的意义与定义创建 意义:反映数据间的特点(通过把同一类 ...

  3. 第29天:js-数组添加删除、数组和字符串相互转换

    一.添加数组var arr=[1,3,5];arr.push(7,9);//添加7和9到数组arr后面,得到[1,3,5,7,9]1.push();可向数组末尾添加一个或多个元素,并返回新的长度.2. ...

  4. JS中,JSON 和 对象互转,数组和字符串的转换?

    JSON 与 J对象转化 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: 如下: var json = JSON.stringify({a: 'Hello', b ...

  5. Linux C\C++基础 字符数组、字符串和字符串常量

    1.字符数组和字符串 C语言没有字符串类型,用字符数组模拟 字符串一定是字符数组,字符数组不一定是字符串 如果字符数组以字符'\0'('\0'等同与数字0)结尾,那么这个字符数组就是字符串 char ...

  6. Arrays -数组工具类,数组转化字符串,数组排序等

    package cn.learn.basic; import java.util.Arrays; /* java.util.Arrays是一个与数组相关的工具类,含有大量静态方法,用来实现数组常见的操 ...

  7. 关于后缀数组的倍增算法和height数组

    自己看着大牛的论文学了一下后缀数组,看了好久好久,想了好久好久才懂了一点点皮毛TAT 然后就去刷传说中的后缀数组神题,poj3693是进化版的,需要那个相同情况下字典序最小,搞这个搞了超久的说. 先简 ...

  8. js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值

    这是学习过程中记录的一些关于数组操作的常用属性或方法,记录一下方便以后使用. // 数组去重 var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7 ...

  9. 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?

    100怎么变成100.00?

随机推荐

  1. 20131214-EditPlus快捷键-第二十一天

    EditPlus 快捷键 文件   FileFtpUpload Ctrl+Shift+S 上传文件到 FTP 服务器 FileNew Ctrl+N 新建普通的文本文档 FileNewHtml Ctrl ...

  2. Hamcrest的简单应用

    import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import java.util.ArrayList; ...

  3. Image Classification

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  4. msf出现Database not connected等问题【已解决】

         kali启动msf后,出现Module database cache not built yet, using slow search,或是Database not connected,或是 ...

  5. 个人永久性免费-Excel催化剂功能第39波-DotNet版的正则处理函数

    在很久之前已经开发过的一些自定义函数,未能有详细的讲解,接下来几波中着重对之前开发过的自定义函数进行详细讲解及示例说明,希望能够帮助到普通用户们能顺利使用,此篇介绍为正则表达式函数. 文章出处说明 原 ...

  6. Hadoop学习-hdfs安装及其一些操作

    hdfs:分布式文件系统 有目录结构,顶层目录是:  /,存的是文件,把文件存入hdfs后,会把这个文件进行切块并且进行备份,切块大小和备份的数量有客户决定. 存文件的叫datanode,记录文件的切 ...

  7. 端口,OSI7层模型,TCP的三次握手和四次挥手,进度条

    1.端口: 端口是为了将同一个电脑上的不同程序进行隔离 IP是找电脑,端口是找电脑上的程序 MySQL是一个软件,帮助我们在硬盘上进行文件操作,默认端口是3306 Redis是一个软件,帮助我们在内存 ...

  8. Visual Studio 调试(系列文章)

    调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Stud ...

  9. Linux vim环境设置

    //vim /etc/vimrc(管理员权限) 1. 显示行号: set number 或者  set nu 不显示行号: set nonu 2.自动缩进: set autoindent 3.C语言自 ...

  10. 在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core

    在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core 一.安装配置MiniProfiler 在现有的ASP.NET Core MVC WebApi 项目 ...