php写数组到文件

时间:2017-03-20 17:47:09 阅读:406次
php写数组到文件

功能:按照正常编程排版把数组写入文件中,使用过var_export($arr,true),但是写入文件中很丑,不喜

$offset 开始时的\t数量

$max_line 数组换行的维数 如果是多维数组,如按照换行的格式的话,文本过长,超过max_line维则不再换行

$level 默认为0即可


function arrayToString($array,$offset=2,$max_line=1,$level=0) {
        //max_line 当数组level超过时不换行
        $return = '';
        $offset += $level;
        if(!empty($array)) {
            $return .= "array(";
            if($level<$max_line) {
                $return .= "\n";
            }
            
            $count = count($array) - 1;
            foreach ($array as $key => $value) {
                if($level<$max_line) {
                    $return .= str_repeat("\t", ($offset));
                }

                if(is_array($value) && !empty($value)) {
                    if(!is_numeric($key)) {
                        $return .= "'".$key."' => ";
                    }
                    $return .= arrayToString($value,$offset,$max_line,($level+1)).",\n";
                } else {
                    if(is_array($value)) {
                        $value = "array()";
                    } elseif(!is_numeric($value)) {
                        $value = "'".$value."'";
                    }
                    
                    if(is_numeric($key)) {
                        $return .= $value;
                    } else {
                        $return .= "'".$key."' => ".$value;
                    }

                    if($key!=$count) {
                        $return .= ",";
                    }
                    if($level<$max_line) {
                        $return .= "\n";
                    }
                }
            }

            if($level<$max_line) {
                $return .= str_repeat("\t", ($offset-1));
            }
            $return .= ")";
        } else {
            $return .= str_repeat("\t", 1)."array()";
        }

        return $return;
    }


扫描二维码关注程序员爱笔记,接收更多资讯

评论

快速评论