array_splice()
modifies it's first argument by reference. The empty array is returns would contain the elements removed in the operation, if any were removed. Since you didn't remove any, it is empty. You original variable $array
has been modified as expected.
$array = array('first', 'second', 'third');
array_splice($array, 0, 0, array('another'));
var_dump($array);