So konvertieren Sie eine Tabelle in ein Array in PHP

PHPz
Freigeben: 2023-04-19 13:47:01
Original
581 Leute haben es durchsucht

在PHP语言中,想要将表格转化为数组十分常见。通常情况下,我们需要处理大量的数据,并在代码中进行读取和操作,这时候将表格转化成数组将大大方便我们进行数据处理和操作。

本文旨在介绍在PHP中如何把表格转化为数组,帮助PHP爱好者轻松处理大量的数据。

I. CSV表格转换为数组

首先,CSV(Comma-Separated Values)是一种非常常见的表格形式,它可以用各种工具生成,并且容易处理。CSV表格只需要用逗号隔开每一列,使用回车符分割每一行,便于读取和操作。

以下是将CSV表格转换成数组的方法:

  1. 打开CSV文件,读入数据

以下示例中,我们将用fgets()函数读取CSV文件的内容,并将其逐行存储到数组$lines中。

$csvFile = 'test.csv';

$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {

while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);
Nach dem Login kopieren

}

?>

  1. 格式化CSV数据并转换为数组

接下来,我们将使用循环遍历$lines数组,并用explode()函数将每一行数据按照逗号切分成一个新数组,最终得到一个二维数组$csvData。你可以使用count()函数来获取$csvData数组中的行数和列数。

$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);
}
Nach dem Login kopieren

}

?>

  1. 输出CSV数据

现在,你可以使用var_dump()函数在浏览器中看到$csvData数组中的数据。

$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);
Nach dem Login kopieren

}

?>

II. Excel表格转成数组

当我们不是使用CSV格式时,可以更简便地将Excel表格转换为数组类型。如下:

  1. 安装PHPExcel插件

我们可以从PHPEXCEL的官网上下载这个插件,并将它解压到项目目录。

require_once 'Classes/PHPExcel.php';
?>

  1. 读入Excel文件

PHPExcel通过PHPExcel_IOFactory对象读取Excel文件。在使用PHPExcel_IOFactory时,需要一个文件读取器来打开Excel文件。我们需要上传PHP版本在5.3或以上。

require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
?>

  1. 将Excel数据转换为数组

现在我们已经成功地将Excel文件读入到$excel对象中,接下来我们可以将其转换为一个包含数据的数组。首先选取我们需要的单元格,并使用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;
Nach dem Login kopieren
Nach dem Login kopieren

}
?>

  1. 输出Excel数据

最后,你可以使用var_dump()函数在浏览器中查看$rows数组中的数据。

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;
Nach dem Login kopieren
Nach dem Login kopieren

}

var_dump($rows);
?>

总结

通过上述方法,可以将不同格式的表格数据快速转化为PHP数组类型。这种方法尤其适用于处理大量的数据,可以使数据的读取及处理变得更加高效简单。所以,这是很重要的技能,值得学习和掌握。

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie eine Tabelle in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage