Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Difficolta classe return

    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?

  2. #2
    perchè $test è un object non un array




  3. #3
    pax questo dubbio mi aveva sfiorato io vorrei sapere come poter risolvere il problema

  4. #4
    Soluzione:
    Un costruttore non puo ritornare nessun valore direttamente quindi bisogna fare una cosa del genere
    Codice PHP:
    class miaclasse{
    private 
    $valore;
    public 
    $ritornavalore;
    __construct($valore){
        
    $this->valore=$valore;
       if(
    $this->funzione()){
     
    $this->ritornavalore=$this->funzione1();
         }
       }
    private 
    funzione(){
        
    //varie operazioni con $this->valore;
         
    return true;
       }
    private 
    funzione1(){
        
    $array=array();
        
    //varie operazioni con $array;
        
    return $array;
       }
    }


    $test=new miaclasse();
    while(
    $test->ritornavalore)
    echo 
    $test->ritornavalore[0]; 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.