str_getcsv parses a single CSV line without a file handle

CSV is not a format you should parse with explode() — quoted fields containing the delimiter, and escaped quotes inside those, break it immediately. fgetcsv() handles all of it but wants a file handle, which is awkward when the line arrived over an API or out of a database column.

$line = 'FR-100,"Frame, wide","49""",4900';

str_getcsv($line);
// ['FR-100', 'Frame, wide', '49"', '4900']

str_getcsv() is the same parser with a string in front of it. It handles one line only, so a multi-line string still needs splitting first — and a quoted field containing a newline makes that split wrong, which is the point at which you should go back to fgetcsv() over php://temp.