>백엔드 개발 >PHP 문제 >PHP에서 테이블을 배열로 변환하는 방법

PHP에서 테이블을 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-19 11:40:27613검색

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);

}

?>

  1. CSV 데이터의 형식을 지정하고 배열로 변환합니다

다음으로 루프를 사용하여 $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);
}

}

?>

  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);

}

?>

II. Excel 표를 배열로 변환

CSV 형식을 사용하지 않는 경우 Excel 표를 배열 형식으로 변환하는 것이 더 쉬울 수 있습니다. 다음과 같습니다:

  1. PHPEExcel 플러그인 설치

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;

}
?>

  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;

}

var_dump($rows);
?>

Summary

위의 방법을 통해 다양한 형식의 테이블을 만들 수 있습니다. 데이터는 PHP 배열 유형으로 빠르게 변환됩니다. 이 방법은 특히 대용량 데이터를 처리하는 데 적합하므로 데이터 읽기 및 처리가 더욱 효율적이고 간단해집니다. 따라서 이것은 배우고 익힐 가치가 있는 매우 중요한 기술입니다.

위 내용은 PHP에서 테이블을 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.