Теоретически строка в PHP ограничена 2 GB (2,147,483,647 байт) - это максимум для 32-битного знакового целого, которое используется для хранения длины. На практике ограничение задается memory_limit в php.ini.
Строка в PHP - это массив байтов + длина. Она не null-terminated (как в C), поэтому может содержать любые байты, включая нулевые (\0).