PHP 언어에서는 테이블을 배열로 변환하는 것이 매우 일반적입니다. 일반적으로 우리는 많은 양의 데이터를 처리하고 이를 코드에서 읽고 연산해야 합니다. 이때 테이블을 배열로 변환하면 데이터 처리 및 연산이 매우 용이해집니다.
이 글은 PHP 매니아들이 대용량 데이터를 쉽게 처리할 수 있도록 PHP에서 테이블을 배열로 변환하는 방법을 소개하는 것을 목표로 합니다.
I. CSV 테이블을 배열로 변환
우선 CSV(Comma-Separated Values)는 매우 일반적인 테이블 형식으로 다양한 도구를 사용하여 생성할 수 있고 처리도 쉽습니다. CSV 테이블은 각 열을 쉼표로 구분하고 캐리지 리턴을 사용하여 각 행을 구분하기만 하면 읽기 및 조작이 더 쉬워집니다.
다음은 CSV 테이블을 배열로 변환하는 방법입니다.
다음 예에서는 fgets() 함수를 사용하여 CSV의 내용을 읽습니다. 파일을 저장하고 $lines 배열에 한 줄씩 저장합니다.
$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
while (($data = fgets($handle)) !== FALSE) { $lines[] = $data; } fclose($handle);
}
?>
다음으로 루프를 사용하여 $lines 배열을 순회하고,Explorer() 함수를 사용하여 데이터의 각 행을 분할합니다. 쉼표에 따른 새로운 배열, 그리고 마지막으로 2차원 배열 $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); }
}
?>
이제 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);
}
?>
II. Excel 표를 배열로 변환
CSV 형식을 사용하지 않는 경우 Excel 표를 배열 형식으로 변환하는 것이 더 쉬울 수 있습니다. 다음과 같습니다:
PHPEXCEL 공식 웹사이트에서 이 플러그인을 다운로드하여 프로젝트 디렉토리에 추출할 수 있습니다.
require_once 'Classes/PHPExcel.php';
?>
PHPExcel은 PHPExcel_IOFactory 개체를 통해 Excel 파일을 읽습니다. PHPExcel_IOFactory를 사용하는 경우 Excel 파일을 열려면 파일 판독기가 필요합니다. PHP 버전 5.3 이상을 업로드해야 합니다.
require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
?>
이제 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;
}
?>
마지막으로 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;
}
var_dump($rows);
?>
Summary
위의 방법을 통해 다양한 형식의 테이블을 만들 수 있습니다. 데이터는 PHP 배열 유형으로 빠르게 변환됩니다. 이 방법은 특히 대용량 데이터를 처리하는 데 적합하므로 데이터 읽기 및 처리가 더욱 효율적이고 간단해집니다. 따라서 이것은 배우고 익힐 가치가 있는 매우 중요한 기술입니다.
위 내용은 PHP에서 테이블을 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!