>  기사  >  백엔드 개발  >  php_php에서 csv 데이터를 읽고 배열에 저장하는 방법 팁

php_php에서 csv 데이터를 읽고 배열에 저장하는 방법 팁

WBOY
WBOY원래의
2016-05-16 20:26:45941검색

이 기사의 예에서는 PHP가 csv 데이터를 읽고 이를 배열에 저장하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

csv는 일반적으로 사용되는 Excel 형식을 대체합니다. 데이터를 내보낼 때 여러 번 CSV 형식으로 내보내지는데 이는 Excel과 다르지 않습니다. 다음 프로그램은 csv 데이터를 읽고 저장하는 것입니다. 데이터를 연산해야 하므로 데이터에 저장하면 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
$info=csvtoarray::open('teste.csv');
//에코 '
';
//print_r($정보) <br>
//에코 '
'; foreach($info를 $c로)
{
echo '학생번호:'.$c[0]
echo '이름:'.$c[1]; echo '나이:'.$c[2]; echo '높이:'.$c[3].'
'; }


최종 클래스 csvtoarray{

/**
* csv 파일을 배열로 파싱하여 반환합니다
*
* @param string $file 파싱할 csv 파일 경로
* @param char $delimiter csv 파일의 내용 구분 기호는
입니다. * @return 배열
​*/
공개 정적 함수 열기($file, $delimiter = ';'){
return self::ordenamultiarray(self::csvarray($file, $delimiter), 1); }

개인 함수 csvarray($file, $delimiter)
{
$결과 = 배열()
$size = 파일크기($file)
$file = fopen($file, 'r')
$keys = fgetcsv($file, $size, $delimiter)
fseek($file,0);//여기에는 원본이 없습니다...직접 추가하세요...첫 번째 줄의 내용을 읽을 수 있도록
while ($row = fgetcsv($file, $size, $delimiter))
{
for($i = 0; $i {
If(array_key_exists($i, $keys))
{
$row[$keys[$i]] = $row[$i]
}  
}
Print_r($행)
$결과[] = $행
}

fclose($파일)

$결과 반환
}
개인 함수 ordenamultiarray($multiarray, $secondindex)
{
while (list($firstindex, ) = 각각($multiarray))
$indexmap[$firstindex] = $multiarray[$firstindex][$secondindex]
정렬($indexmap)
while (list($firstindex, ) = 각각($indexmap))
if (is_numeric($firstindex))
$sortedarray[] = $multiarray[$firstindex]
else $sortedarray[$firstindex] = $multiarray[$firstindex]
$sortedarray 반환
}
}


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