Ho una classe di questo tipo

Codice PHP:
class miaclasse{
private 
$valore;
__construct($valore){
    
$this->valore=$valore;
   if(
$this->funzione()){
       
$this->funzione1();
     }
   }
private 
funzione(){
    
//varie operazioni con $this->valore;
     
return true;
   }
private 
funzione1(){
    
$array=array();
    
//varie operazioni con $array;
    
return $array;
   }

ora questa classe mi dovrebbe ritornare un array che poi vado a ciclare ma quando ci provo mi ritorna un errore Cannot use object of type miaclasse as array non capisco il perche

Codice PHP:
$test=new miaclasse();
while(
$test)
echo 
$test[0]; 
Qualcuno mi puo aiutare?