我需要将一个字符串转换为一组固定长度的数组。将字符串转换为固定长度的一组数组
例如:输入: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:我觉得字符串太大了。我将不得不查看是否有破坏它的方式而不会丢失数据,因为这实际上是一个小例子,它实际上是二进制数据。感谢大家的回答!
运行内存不足或无限循环? –
内存不足。作品找到长度为137的流,所以我不认为这是一个循环。 – Drazisil
似乎不应该用11k字符串... –