Bueno ya encontre la solucion me toco hacer mi propia clase de listas aqui se las dejo por si a alguno le sirve ese splobject es una porqueria...
Código PHP:
Ver originalclass arrObjetos{
private $tmp;
private $flujo;
var $cab;
function arrObjetos(){
$this->tmp=-1;
}
public function cuantos(){
return count($this->obj); }
public function agrega($obj){
$this->tmp++;
$this->obj[]=$obj;
$this->cab=$this->obj[$this->tmp];
$this->flujo=$this->tmp;
return;
}
echo "el parametro recibido no es un objeto";
}
public function ant(){
if(($this->flujo-1) > 0){
$this->cab=$this->obj[($this->tmp-1)];
$this->flujo=$this->flujo-1;
return $this->obj[$this->flujo];
}else{ $this->flujo=0;$this->cab=$this->obj[$this->flujo]; return $this->obj[$this->flujo];}
echo "indice Fuera de limites ".$this->tmp--;
}
public function sig(){
if($this->tmp++ < count($this->obj)-1){ $this->flujo=$this->flujo++;
$this->cab=$this->obj[($this->flujo)];
return $this->obj[$this->flujo];}
else{$this->flujo=count($this->obj)-1; $this->cab=$this->obj[$this->flujo]; return($this->obj[$this->flujo]);}
echo "indice Fuera de limites ".$this->tmp++;
}
public function fin(){
$this->flujo=count($this->obj)-1; $this->cab=$this->obj[$this->flujo];
return $this->cab;
}
public function ini(){
$this->flujo=0;
$this->cab=$this->obj[$this->flujo];
return $this->cab;
}
public function lotengo($obj){
$tmp=$this->flujo;
$this->flujo=0;
echo("el parametro recibido no es un objeto");
return;
}
$cab=$this->obj[$this->flujo];
while($this->sig() != $cab){
if($cab==$obj)
return true;
$cab=$this->sig();
}
if($cab==$obj){
return true;
}
$this->flujo=$tmp;
return false;
}
}