PHP에서 배열을 CSV 파일로 어떻게 변환할 수 있나요?

Barbara Streisand
풀어 주다: 2024-11-08 00:52:03
원래의
533명이 탐색했습니다.

How can I convert an array into a CSV file in PHP?

배열을 CSV로 변환: 종합 가이드

CSV(쉼표로 구분된 값)는 표 형식 데이터를 저장하는 데 널리 사용되는 형식입니다. 배열을 CSV 파일로 변환하면 데이터 전송 및 분석이 쉬워집니다. 이 문서에서는 이 변환을 수행하는 방법에 대한 단계별 가이드를 제공합니다.

배열

다음 stdClass 개체 배열을 고려하세요.

stdClass Object
(

    [OrderList_RetrieveByContactResult] => stdClass Object
        (
            [OrderDetails] => stdClass Object
                (
                    [entityId] => 1025298
                    [orderId] => 10952
                    [... various properties ...]
                )

        )

)
로그인 후 복사

변환 함수

배열을 CSV로 변환하려면 논리를 캡슐화하는 도우미 함수를 사용할 수 있습니다. 다음은 함수 예입니다.

/**
 * Formats a line (passed as a fields  array) as CSV and returns the CSV as a string.
 * Adapted from http://us3.php.net/manual/en/function.fputcsv.php#87120
 */
function arrayToCsv( array &$fields, $delimiter = ';', $enclosure = '"', $encloseAll = false, $nullToMysqlNull = false ) {
    $delimiter_esc = preg_quote($delimiter, '/');
    $enclosure_esc = preg_quote($enclosure, '/');

    $output = array();
    foreach ( $fields as $field ) {
        if ($field === null && $nullToMysqlNull) {
            $output[] = 'NULL';
            continue;
        }

        // Enclose fields containing $delimiter, $enclosure or whitespace
        if ( $encloseAll || preg_match( "/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $field ) ) {
            $output[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $field) . $enclosure;
        }
        else {
            $output[] = $field;
        }
    }

    return implode( $delimiter, $output );
}
로그인 후 복사

이 함수는 배열, 구분 기호 및 엔클로저 문자를 입력으로 사용합니다. 특수 문자가 포함된 필드를 포함하여 배열의 각 필드를 처리합니다. 마지막으로 필드를 CSV 문자열로 형식화하고 반환합니다.

변환 적용

샘플 배열을 변환하려면 arrayToCsv 함수를 호출할 수 있습니다.

$fields = [$array->OrderList_RetrieveByContactResult->OrderDetails];
$csv = arrayToCsv($fields);
로그인 후 복사

이제 $csv 변수에는 변환된 CSV 데이터가 포함됩니다. 파일로 저장하거나 추가 처리에 사용할 수 있습니다.

위 내용은 PHP에서 배열을 CSV 파일로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!