Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An adaption of what we've done in our other libraries/systems to read CSV files with the headers mapped to the rows values.
This one is based on
SplFileObject
which has a lot of the CSV logic builtin. Unfortunately, some of it is not handled very well so that's remedied here.The actual iteration is more robust here as well, with better error handling and the ability to getHeaders and manually set them (in case the file doesn't have them).
This also works with CSV files with mac line endings
\r
using PHP's builtin auto detection. This throws an exception in our other implementations.