• PHP 数组转字符串后仍保留数组格式


    写此方法的目的是,我想把一个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,"	");
    	
    	foreach($arr as $k=>$v){
    		if(is_array($v)){
    			if(is_string($k)){
    				$str.= $pad."'".$k."'=>array(
    ".arr2str($v,$t+1).$pad."),
    ";
    			}else{
    				$str.= $pad ."array(
    ".arr2str($v,$t+1).$pad."),
    ";
    			}
    		}else{
    			if(is_string($k)){
    				$str.= $pad."'".$k."'=>'".$v."',
    ";
    			}else{
    				$str.= $pad."'".$v."',
    ";
    			}
    		}
    	}
    	return $str;
    	
    }
    
    //应用
    echo "Array(
    ";
    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 直接可写入。

  • 相关阅读:
    有用学习网址
    Pivot运算符用于在列和行之间
    st_MES_InsertIntoSalaryManage
    I00033 消除游戏
    I00033 消除游戏
    PHP版本的Graphviz样例之集群流程图
    PHP版本的Graphviz样例之集群流程图
    Graphviz样例之集群流程图
    Graphviz样例之集群流程图
    Graphviz样例之UML图
  • 原文地址:https://www.cnblogs.com/ser0632/p/4775378.html
Copyright © 2020-2023  润新知