我有一个需要由 PHP 解释的缓冲区,但是随后在缓冲区上使用许多 substr 被证明是非常慢且 CPU 密集型的,可能是因为 substr 创建了子字符串的新副本。
我需要通过以下方式在缓冲区中前进:
移动 X 的偏移量(可变字节数)。或从头开始删除 X 个字节
PHP中是否有任何容器可以让我做这样的事情?
示例(伪代码)
while( !done )
{
$itemSize = unpack( ?, $buffer );
$item = substr($buffer, $itemSize );
$done = doSomething( $item );
$buffer = $item;
}
谢谢