Логика описана в документации :
Если параметр limit
опущен, завершающие нулевые поля подавляются.
Удаленные пустые поля удаляются, но не ведущие.
Если, случайно, то, что вы спрашивали, было «да, но где логика в , что ?», То представьте, что мы анализируем некоторую CSV.
fname,sname,id,email,status
,,1,sergio@example.com,
Мы хотим, чтобы первые две позиции оставались пустыми (вместо того, чтобы быть удаленными и иметь имя fname, равное 1, и sname - sergio@example.com).
Мы меньше заботимся о следе за пустыми полями Удаленные или сохраненные, они не перемещают данные.