php 陣列匯出csv php匯出CSV抽象類例項

2021-10-13 03:35:08 字數 2105 閱讀 4227

這篇文章主要介紹了php匯出csv抽象類及其用法示例,可實現迴圈匯出功能,從而避免記憶體不足的問題,需要的朋友可以參考下

該php匯出csv抽象類,可根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。避免記憶體不足的問題。

exportcsv.class.php類檔案如下:

/** php export csv abstract class,根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。

* date: 2014-05-16

* author: fdipzone

* ver: 1.0

* func:

* public setpagesize 設定每批次匯出的記錄條數

* public setexportname 設定匯出的檔名

* public setseparator 設定分隔符

* public setdelimiter 設定定界符

* public export 執行匯出

* private getpagecount 計算匯出總批次

* private setheader 設定匯出檔案header

* private formatcsv 將資料格式化為csv格式

* private escape 轉義字串

* abstract getexporttotal 獲取總記錄條數,抽象方法,需繼承類實現

* abstract getexportfields 獲取匯出的列名,抽象方法,需繼承類實現

* abstract getexportdata 獲取每頁記錄,抽象方法,需繼承類實現

abstract class exportcsvelseif(preg_match("/firefox/", $ua))else // class end

demo示例程式如下:

// exportcsv abstract class

require "exportcsv.class.php";

// 定義繼承類

class myexport extends exportcsv{

// 要匯出的資料,實際情況會從db讀取

protected $data = array(

array('1','傲雪星楓"','男'),

array('2','傲雪星楓","','男'),

array('3','傲雪星楓","','男'),

array('4',"傲雪星楓\"\"\r\n換行",'男'),

array('5','傲雪星楓,,','男'),

array('6','傲雪星楓"','男'),

array('7','傲雪星楓','男'),

array('8','傲雪星楓','男'),

array('9','傲雪星楓','男'),

array('10','傲雪星楓','男')

/* 返回總匯出記錄數

* @return int

protected function getexporttotal(){

return count($this->data);

/** 返回匯出的列名

* @return array

protected function getexportfields(){

$title = array('id','name','gender');

return $title;

/* 返回每批次的記錄

* @param int $offset 偏移量

* @param int $limit 獲取的記錄條數

* @return array

protected function getexportdata($offset, $limit){

return array_slice($this->data, $offset, $limit);

// 匯出

$obj = new myexport();

$obj->setpagesize(1);

$obj->setexportname('myexport.csv');

$obj->setseparator(',');

$obj->setdelimiter('"');

$obj->export();

PHP 陣列匯出(extract函式)

php中extract 函式用乙個陣列 var array做引數,將 var array匯出為鍵為變數名,值為變數值的一組變數。fruit banana color red size big bill echo fruit fruit echo print r info echo echo extr...

16 匯出陣列

匯出陣列是可行的,但有乙個重要的注意事項 雖然常規陣列是在每個類例項本地建立的,但匯出的陣列是在所有例項之間 共享 的。這意味著在乙個例項中編輯它們將導致在所有其他例項中更改它們。匯出的陣列可以有初始化器,但它們必須是常量表示式。exported array,shared between all i...

php匯出陣列到csv格式demo

php的二維陣列匯出到csv需要處理文字編碼,如下 data array array username test1 password 123 array username test2 password 456 array username test3 password 789 export csv ...