在PHP語(yǔ)言中,想要將表格轉(zhuǎn)化為數(shù)組十分常見。通常情況下,我們需要處理大量的數(shù)據(jù),并在代碼中進(jìn)行讀取和操作,這時(shí)候?qū)⒈砀褶D(zhuǎn)化成數(shù)組將大大方便我們進(jìn)行數(shù)據(jù)處理和操作。
本文旨在介紹在PHP中如何把表格轉(zhuǎn)化為數(shù)組,幫助PHP愛好者輕松處理大量的數(shù)據(jù)。
I. CSV表格轉(zhuǎn)換為數(shù)組
首先,CSV(Comma-Separated Values)是一種非常常見的表格形式,它可以用各種工具生成,并且容易處理。CSV表格只需要用逗號(hào)隔開每一列,使用回車符分割每一行,便于讀取和操作。
以下是將CSV表格轉(zhuǎn)換成數(shù)組的方法:
- 打開CSV文件,讀入數(shù)據(jù)
以下示例中,我們將用fgets()函數(shù)讀取CSV文件的內(nèi)容,并將其逐行存儲(chǔ)到數(shù)組$lines中。
$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
while (($data = fgets($handle)) !== FALSE) { $lines[] = $data; } fclose($handle);
}
?>
- 格式化CSV數(shù)據(jù)并轉(zhuǎn)換為數(shù)組
接下來(lái),我們將使用循環(huán)遍歷$lines數(shù)組,并用explode()函數(shù)將每一行數(shù)據(jù)按照逗號(hào)切分成一個(gè)新數(shù)組,最終得到一個(gè)二維數(shù)組$csvData。你可以使用count()函數(shù)來(lái)獲取$csvData數(shù)組中的行數(shù)和列數(shù)。
$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
while (($data = fgets($handle)) !== FALSE) { $lines[] = $data; } fclose($handle); $csvData = []; foreach ($lines as $line) { $csvData[] = str_getcsv($line); }
}
?>
- 輸出CSV數(shù)據(jù)
現(xiàn)在,你可以使用var_dump()函數(shù)在瀏覽器中看到$csvData數(shù)組中的數(shù)據(jù)。
$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
while (($data = fgets($handle)) !== FALSE) { $lines[] = $data; } fclose($handle); $csvData = []; foreach ($lines as $line) { $csvData[] = str_getcsv($line); } var_dump($csvData);
}
?>
II. Excel表格轉(zhuǎn)成數(shù)組
當(dāng)我們不是使用CSV格式時(shí),可以更簡(jiǎn)便地將Excel表格轉(zhuǎn)換為數(shù)組類型。如下:
- 安裝PHPExcel插件
我們可以從PHPEXCEL的官網(wǎng)上下載這個(gè)插件,并將它解壓到項(xiàng)目目錄。
require_once 'Classes/PHPExcel.php';
?>
- 讀入Excel文件
PHPExcel通過(guò)PHPExcel_IOFactory對(duì)象讀取Excel文件。在使用PHPExcel_IOFactory時(shí),需要一個(gè)文件讀取器來(lái)打開Excel文件。我們需要上傳PHP版本在5.3或以上。
require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
?>
- 將Excel數(shù)據(jù)轉(zhuǎn)換為數(shù)組
現(xiàn)在我們已經(jīng)成功地將Excel文件讀入到$excel對(duì)象中,接下來(lái)我們可以將其轉(zhuǎn)換為一個(gè)包含數(shù)據(jù)的數(shù)組。首先選取我們需要的單元格,并使用PHPExcel_Cell類中的getValue()方法獲取其值。
require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
$sheet = $excel->getActiveSheet();
$rows = [];
foreach ($sheet->getRowIterator() as $row) {
$item?=?[]; $cellIterator?=?$row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach?($cellIterator?as?$cell)?{ ????$item[]?=?$cell->getValue(); } $rows[]?=?$item;
}
?>
- 輸出Excel數(shù)據(jù)
最后,你可以使用var_dump()函數(shù)在瀏覽器中查看$rows數(shù)組中的數(shù)據(jù)。
require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
$sheet = $excel->getActiveSheet();
$rows = [];
foreach ($sheet->getRowIterator() as $row) {
$item?=?[]; $cellIterator?=?$row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach?($cellIterator?as?$cell)?{ ????$item[]?=?$cell->getValue(); } $rows[]?=?$item;
}
var_dump($rows);
?>
總結(jié)
通過(guò)上述方法,可以將不同格式的表格數(shù)據(jù)快速轉(zhuǎn)化為PHP數(shù)組類型。這種方法尤其適用于處理大量的數(shù)據(jù),可以使數(shù)據(jù)的讀取及處理變得更加高效簡(jiǎn)單。所以,這是很重要的技能,值得學(xué)習(xí)和掌握。
以上是php怎么把表格轉(zhuǎn)化為數(shù)組的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)