我有一個需要由PHP解釋的緩衝區,但是隨後在緩衝區中使用許多substr被證明是非常慢並且密集CPU,可能是因爲substr創建了一個子字符串的新副本。PHP字符串偏移?做很多substr時使用像緩衝區這樣的變量太慢了?
我需要通過在緩衝區中向前移動:
由X的偏移量(字節數可變)移動。 或 從頭開始刪除X字節
PHP中是否有任何容器可以讓我做這樣的事情?
爲例(僞)
while(!done)
{
$itemSize = unpack(?, $buffer);
$item = substr($buffer, $itemSize);
$done = doSomething($item);
$buffer = $item;
}
謝謝
'while(!done)'給出語法錯誤。 – Shoe 2013-03-04 19:39:00
@Jeffery - 和'解壓縮(?'也是無效的,我很確定它只是僞代碼 – 2013-03-04 19:40:16
是的,這是正確的,我應該指定這只是一個僞代碼示例 – 2013-03-04 21:12:19