Tutaj masz bardzo prosty bufor cykliczny:
<?php
$w_pointer = 0;
$r_pointer = 0;
function add($data, &$wp, &$arr)
{
$arr[$wp] = $data;
$wp = ($wp == 3) ? 0 : ++$wp;
}
function read(&$rp, &$arr)
{
$temp = $arr[$rp];
$rp = ($rp == 3) ? 0 : ++$rp;
return $temp;
}
add('Test', $w_pointer, $buffer);
$buff_temp[] = $buffer;
add('Test2', $w_pointer, $buffer);
$buff_temp[] = $buffer;
add('Test3', $w_pointer, $buffer);
$buff_temp[] = $buffer;
add('Test4', $w_pointer, $buffer);
$buff_temp[] = $buffer;
add('Test5', $w_pointer, $buffer);
$buff_temp[] = $buffer;
add('Test6', $w_pointer, $buffer);
$buff_temp[] = $buffer;
echo read
($r_pointer, $buffer).'<br/>'; echo read
($r_pointer, $buffer).'<br/>'; echo read
($r_pointer, $buffer).'<br/>'; echo read
($r_pointer, $buffer).'<br/>'; echo read
($r_pointer, $buffer).'<br/>';
?>
Napisałem go dla Ciebie, przy okazji pokazując jak działa.