[php-src] PR #24199: [RFC] Add CSV extension (ext/csv)
| From: | damek24 | Date: | Thu, 08 Oct 2026 17:03:57 +0000 |
| Subject: | [php-src] PR #24199: [RFC] Add CSV extension (ext/csv) | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-39263@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/24199
Author: damek24
## Summary
This draft PR proposes adding a new CSV extension (
ext/csv) to PHP core.
The extension is based on Gina Peter Banyard's girgias/csv project (BSD-3-Clause)
and extends it with file and stream handling.
### Features
- RFC 4180-compatible CSV parsing and serialization
- Locale-independent parsing
- Multibyte delimiters, enclosures, and EOL sequences
- Strict and lax collection parsing
- Lazy iteration over CSV files
- Streaming CSV output
- No proprietary escape character
### Implementation
- Six functions and one class in the Csv\ namespace
- 78 PHPT tests
- Six upstream issues identified and fixed during the port
### RFC
https://wiki.php.net/rfc/csv_extension
**Status:** Draft - this PR is not intended for merging until the RFC has been discussed and
accepted.
### Attribution
Based on girgias/csv by Gina Peter Banyard and contributors, licensed under
BSD-3-Clause.
Parts of the implementation were developed with LLM assistance. I have reviewed the code and take
full responsibility for the contribution.
Feedback on API design, implementation details, and portability is welcome.