The $index argument seems to be NULL for append operations, e.g.:<?php// example extension classclass Test extends ArrayIterator{ public function offsetSet($index, $newval) { echo 'Test::offsetSet('.var_export($index, true).', '.var_export($newval, true).")\n"; }}// test$i = new Test;$i[] = 'append a value';?>The result is:Test::offsetSet(NULL, 'append a value')