#php #text #offset
#php #текст #смещение
Вопрос:
Я использую PHP для чтения строк по заданному смещению (используя fseek) как
fseek($fp, 51);
$data = fgets($fp, 4096);
Длина каждой строки составляет менее 10 символов. Могу ли я сделать фиксированную длину 10, чтобы начало каждой строки было равно 0,10,20,30,40, ….
Строки имеют вид
first
second
third
На самом деле, я хочу виртуально (действительно, подделать) сообщить fseek()
, что каждая строка состоит из 10 символов.
Ответ №1:
Похоже, вам следует использовать fgets. Невозможно эмулировать строки, состоящие из 10 символов, если их нет, без чтения данных и последующей их обработки (невозможно искать, не зная, где искать).
Вы могли бы просто использовать fgets для просмотра строк, а затем substr() их всех до 10 символов
Если причина, по которой вы хотите это сделать, заключается в соображениях производительности, вам, вероятно, потребуется сохранить данные по-другому (или использовать индексацию). Чтобы иметь возможность искать конкретную запись, вам нужно будет иметь возможность определить, к какому элементу обращаться. Самый простой способ разрешить это — заполнить строки. (Если каждая строка состоит из 10 символов, то можно просто искать и обрезать на основе 10 * x)