Мне нужно преобразовать строку в набор массивов фиксированной длины.
Пример: input: 1111122222333333
Мне нужен вывод
[0] =>
[0] => 1
[1] => 1
[2] => 1
[3] => 1
[4] => 1
[1] =>
[0] => 2
[1] => 2
[2] => 2
[3] => 2
[4] => 2
Следующий код прекрасно работает:
for ($x = 0; $x < count($codedDataArray) - $colWidthSum + 1; $x += $colWidthSum + 1) {
for ($c = 0; $c <= $colWidthSum; $c++) {
$rows[$j][] = $codedDataArray[$z];
$z++;
}
$j++;
}
, но он исчерпывает память, когда я даю ему действительно большие строки, скажем, 10959 байт.
Есть ли встроенная функция PHP, которую я ''Мне не хватает того, что будет делать то же самое, или мне просто придется столкнуться с проблемами с памятью?
РЕДАКТИРОВАТЬ 1: У меня заканчивается память как на preg_split
, так и на str_split
так что я, наверное, что-то действительно не так делаю.Я по-прежнему отмечу как ответивший, как только выясню, в чем заключалась моя первоначальная проблема.
РЕДАКТИРОВАТЬ 2: Длина строки на самом деле составляет 745 982 байта, я искал сжатую длину.
РЕДАКТИРОВАТЬ 3: Я думаю, что строка слишком велика.Мне придется посмотреть, есть ли способ разбить его без потери данных, так как это на самом деле небольшой пример, а на самом деле это двоичные данные.Спасибо всем за ответы!