php解析CSV格式

    public function read_csv($cvs)
    {
        
        $shuang = false;
        $str = file_get_contents($cvs);
        for ($i = 0; $i < strlen($str); $i++) {
            if ($str[$i] == '"') {
                if ($shuang) {
                    if ($str[$i + 1] == '"') {
                        $str[$i] = '*';
                        $str[$i + 1] = '*';
                    } else {
                        $shuang = false;
                    }
                } else {
                    $shuang = true;
                }
            }
            if ($str[$i] == ',') {
                if ($shuang) {
                } else {
                    $str[$i] = '|';
                }
            }
            if ($str[$i] == "\n") {
                if ($shuang) {
                    $str[$i] = '^';
                } else {
                }
            }
        }
        $str = str_replace(array('"', '*'), array('', '"'), $str);
        $a1 = explode("\n", $str);
        $array = array();
        foreach ($a1 as $k => $value) {
            if ($value) {
                $value = str_replace("^", "\n", $value);
                $array[$k] = explode("|", $value);
            }
        }
        return $array;
    }


分类: PHP 点赞(0) 收藏

评论