Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2009, 17:40   #1
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
[PHP] Perchè mi dice che stò chiamando una funzione non definita ?!?!

Quando provo a far girare la seguente classe con un esempio (inserito subito sotto la fine della classe) mi dà il seguente messagio di errore: Fatal error: Call to undefined function sinistro() in C:\xampp\htdocs\PHPEsempi\algoritmiOrdinamento\Heap.php on line 43

La linea di codice incriminata è:
Codice:
if(sinistro($nodo_i) > $this->$heapSize) return;
Ma come si può vedere nel codice il metodo sinistro() è stato definito !!! Come mai dà questo errore?

Codice:
<?php

/* Classe che implementa la struttura dati HEAP e la sua funzionalità per
   l'ordinamento di una collezione mediante l'algoritmo di ordinamento
   Heap Sort */

class Heap{

    /* Variabile di istanza che implementa la struttura dati ad albero
       dell'heap per mezzo di un array */
    private $heap = array();
    private $heapSize = 0; // Numero di elementi correntemente dentro l'HEAP

    /* Costruttore: Crea un nuovo oggetto istanza di Heap. Riceve un qualunque
                    array come parametro di input, lo copia dentro alla
                    variabile di istanza heap[] (mettendoli dentro l'array Heap
                    a partire dalla posizione 1) e su di esso richiama ilmetodo
                    di classe heapify per trasformarlo in loco in un heap */

    public function __construct($arr=array()){

       /* Scorre l'array ricevuto come parametro e lo copia nel'array heap
	   traslando gli elementi una posizione in avanti (per farli partire dalla
	   posizione 1 e non 0) */
       foreach($arr as $chiave => $valore){
          $heap[$chiave+1] = $arr[chiave];    // Copia gli elementi traslandoli
          $heapSize ++;    //Incrementa di 1 il numero elementi inseriti nell'heap
       }

	   /* Invoca il metodo heapify sull'array partendo dalla prima posizione che
	      sarà trasformato in un HEAP */
       $this->heap = $this->heapify($heap, 1);
    }


	/* Metodo che dato un qualsiasi array lo riarrangia trasformandolo in una
	   struttura dati HEAP memorizzata sempre nello stesso array di partenza */
	   
    private function heapify($heap, $nodo_i){
        echo "heapify è stata chiamata<br />";
        $sin = sinistro($nodo_i);   // Posizione della radice del sottoalbero sinistro
        /* CASO BASE: Se heap è vuoto ritorna al chiamante */
        if(sinistro($nodo_i) > $this->$heapSize) return;
        
        /* Altrimenti procedi ricorsivamente nel seguente modo */
        else{
            $sin = sinistro($nodo_i);   // Posizione della radice del sottoalbero sinistro
            $des = destro($nodo_i);     // Posizione della radice del sottoalbero destro
            
            $nodoCorrente = $sin;
            heapify($heap, $nodoCorrente);       // Chiama ricorsivamente sul sottoalbero sinistro
            $nodoCorrente = $des;
			heapify($heap, $nodoCorrente);       // Chiama ricorsivamente sul sottoalbero destro
            
            fixHeap($nodoCorrente, $heap);
        }
            
    }
        
	/* Metodo che prende in input un quasi heap (cioè un heap con al più
	   un'anomalia) ed un indice nodo_i e restituisce un heap corretto */
	private function fixHeap($nodo_i, $quasiHeap){
		$sin;  		 // Conterrà l'indice del figlio sinistro
		$des;   	 // Conterrà l'indice del figlio destro
		$max;        // Conterrà l'indice del figlio avente valore massimo
		
		/* Se nodo_i è una foglia allora ritorna al chiamante (caso base)*/
	    if(sinistro($nodo_i) > $this->$heapSize) return;
	    
	    /* Se nodo_i non è una foglia */
	    else{
	        $sin = sinistro($nodo_i);   // Posizione del figlio sinistro
			$des = destro($nodo_i);     // Posizione del figli destro
			
			/* Trova il massimo tra il figlio sinistro e destro di nodo_i */
			if($quasiHeap[sin] >= $quasiHeap[$des]) $max = $sin;
			else $max = $des;
			
			/* Se il valore in posizione nodo_i è MINORE del valore del figlio
			   massimo */
			if($quasiHeap[$nodo_i] < $quasiHeap[$max]){
			    $tmp = $quasiHeap[$nodo_i];  // Salva il valore in posizione i
				/* Scambia il valore in posizione nodo_i con il valore in
				   posizione max */
				$quasiHeap[$nodo_i] = $quasiHeap[max];
				$quasiHeap[$max] = $tmp;
				
				/* Invoca ricorsivamente il metodo fixHeap() passandogli come
				   parametro lo stesso array e la posizione max */
				fixHeap($max, $quasiHeap);
			}
	    }
	}
				
	/* Metodo che dato l'indice di un elemento dell'heap calcola l'indice del
	   suo figlio sinistro nell'heap */
	private function sinistro($indicePadre){
	    $sin = $indicePadre*2;  		// Calcola l'indice del figlio sinistro
	    return $sin;            		// Ritorna il valore di sin al chiamante
	}
	
	/* Metodo che dato l'indice di un elemento dell'heap calcola l'indice del
	   suo figlio destro nell'heap */
	private function destro($indicePadre){
	    $des = $indicePadre*2 + 1;      // Calcola l'indice del figlio destro
	    return $padre;                  // Ritorna il valore di des al chiamante
	}
	
	/* Metodo che dato un elemento dell'heap calcolal'indice del padre */
	private function padre($indiceNodo){
	    $padre = floor(i/2);    // Calcola la parte intera
		return $padre;          // Ritorna al chiamante la posizione del padre
	}
	
}

echo "Test HEAP <br \>\n";
$arr = array(70,10, 14, 18, 11, 27);

$myHeap = new Heap($arr);
?>
Tnx
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 17:42   #2
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Mmmm...

Codice PHP:
if($this->sinistro($nodo_i) > $this->$heapSize) return; 
E' un metodo di un oggetto! Non una funzione
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 17:46   #3
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Mmmm...

Codice PHP:
if($this->sinistro($nodo_i) > $this->$heapSize) return; 
E' un metodo di un oggetto! Non una funzione
e come avrei dovuto fare allora?
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:13   #4
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Te l ho scritto nel codice! Mettendoci $this-> davanti !
Guarda sopra!
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:18   #5
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Te l ho scritto nel codice! Mettendoci $this-> davanti !
Guarda sopra!
mmm mettendo quello che mi hai detto te:
Codice:
if($this->sinistro($nodo_i) > $this->$heapSize) return;
Continua a darmi: Fatal error: Cannot access empty property in C:\xampp\htdocs\PHPEsempi\algoritmiOrdinamento\Heap.php on line 43
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:26   #6
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Mmmm l'errore è cambiato; la linea è sempre la stessa? Sicuro?
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:33   #7
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Mmmm l'errore è cambiato; la linea è sempre la stessa? Sicuro?
Si ho provato a cambiarla così e non dà più errore:
Codice:
if($this->sinistro($nodo_i) > $this->heapSize) return;
Perchè?

Ora però ho un altro problema ancora che non sò proprio da cosa possa dipendere...nella classe ho inserito un altro metodo stampaHeap() che mi dovrebbe stampare il contenuto dell'array heap...ma non stampa nulla

Questo è il codice completo:

Codice:
<?php

/* Classe che implementa la struttura dati HEAP e la sua funzionalità per
   l'ordinamento di una collezione mediante l'algoritmo di ordinamento
   Heap Sort */

class Heap{

    /* Variabile di istanza che implementa la struttura dati ad albero
       dell'heap per mezzo di un array */
    private $heap = array();
    private $heapSize = 0; // Numero di elementi correntemente dentro l'HEAP

    /* Costruttore: Crea un nuovo oggetto istanza di Heap. Riceve un qualunque
                    array come parametro di input, lo copia dentro alla
                    variabile di istanza heap[] (mettendoli dentro l'array Heap
                    a partire dalla posizione 1) e su di esso richiama ilmetodo
                    di classe heapify per trasformarlo in loco in un heap */

    public function __construct($arr=array()){

       /* Scorre l'array ricevuto come parametro e lo copia nel'array heap
	   traslando gli elementi una posizione in avanti (per farli partire dalla
	   posizione 1 e non 0) */
       foreach($arr as $chiave => $valore){
          $heap[$chiave+1] = $arr[chiave];    // Copia gli elementi traslandoli
          $heapSize ++;    //Incrementa di 1 il numero elementi inseriti nell'heap
       }

	   /* Invoca il metodo heapify sull'array partendo dalla prima posizione che
	      sarà trasformato in un HEAP */
       $this->heap = $this->heapify($heap, 1);
    }


	/* Metodo che dato un qualsiasi array lo riarrangia trasformandolo in una
	   struttura dati HEAP memorizzata sempre nello stesso array di partenza */
	   
    private function heapify($heap, $nodo_i){
        echo "heapify è stata chiamata<br />";

        /* CASO BASE: Se heap è vuoto ritorna al chiamante */
        if($this->sinistro($nodo_i) > $this->heapSize) return;
        
        /* Altrimenti procedi ricorsivamente nel seguente modo */
        else{
            $sin = sinistro($nodo_i);   // Posizione della radice del sottoalbero sinistro
            $des = destro($nodo_i);     // Posizione della radice del sottoalbero destro
            
            $nodoCorrente = $sin;
            heapify($heap, $nodoCorrente);       // Chiama ricorsivamente sul sottoalbero sinistro
            $nodoCorrente = $des;
			heapify($heap, $nodoCorrente);       // Chiama ricorsivamente sul sottoalbero destro
            
            fixHeap($nodoCorrente, $heap);
        }
            
    }
        
	/* Metodo che prende in input un quasi heap (cioè un heap con al più
	   un'anomalia) ed un indice nodo_i e restituisce un heap corretto */
	private function fixHeap($nodo_i, $quasiHeap){
		$sin;  		 // Conterrà l'indice del figlio sinistro
		$des;   	 // Conterrà l'indice del figlio destro
		$max;        // Conterrà l'indice del figlio avente valore massimo
		
		/* Se nodo_i è una foglia allora ritorna al chiamante (caso base)*/
	    if(sinistro($nodo_i) > $this->$heapSize) return;
	    
	    /* Se nodo_i non è una foglia */
	    else{
	        $sin = sinistro($nodo_i);   // Posizione del figlio sinistro
			$des = destro($nodo_i);     // Posizione del figli destro
			
			/* Trova il massimo tra il figlio sinistro e destro di nodo_i */
			if($quasiHeap[sin] >= $quasiHeap[$des]) $max = $sin;
			else $max = $des;
			
			/* Se il valore in posizione nodo_i è MINORE del valore del figlio
			   massimo */
			if($quasiHeap[$nodo_i] < $quasiHeap[$max]){
			    $tmp = $quasiHeap[$nodo_i];  // Salva il valore in posizione i
				/* Scambia il valore in posizione nodo_i con il valore in
				   posizione max */
				$quasiHeap[$nodo_i] = $quasiHeap[max];
				$quasiHeap[$max] = $tmp;
				
				/* Invoca ricorsivamente il metodo fixHeap() passandogli come
				   parametro lo stesso array e la posizione max */
				fixHeap($max, $quasiHeap);
			}
	    }
	}
				
	/* Metodo che dato l'indice di un elemento dell'heap calcola l'indice del
	   suo figlio sinistro nell'heap */
	private function sinistro($indicePadre){
	    $sin = $indicePadre*2;  		// Calcola l'indice del figlio sinistro
	    return $sin;            		// Ritorna il valore di sin al chiamante
	}
	
	/* Metodo che dato l'indice di un elemento dell'heap calcola l'indice del
	   suo figlio destro nell'heap */
	private function destro($indicePadre){
	    $des = $indicePadre*2 + 1;      // Calcola l'indice del figlio destro
	    return $padre;                  // Ritorna il valore di des al chiamante
	}
	
	/* Metodo che dato un elemento dell'heap calcolal'indice del padre */
	private function padre($indiceNodo){
	    $padre = floor(i/2);    // Calcola la parte intera
		return $padre;          // Ritorna al chiamante la posizione del padre
	}
	
	/* Metodo per stampare l'heap */
	public function stampaHeap(){
		for($i=1; $i<=$heapSize; $i++)
		    echo $heap[i];
	}
	
}

echo "Test HEAP <br \>\n";
$arr = array(70,10, 14, 18, 11, 27);

$myHeap = new Heap($arr);
$myHeap->stampaHeap();


?>
Come mai questa cosa? Dici che c'è qualche altro problema semantico più serio sotto?
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:42   #8
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Non mi convince il passaggio di parametri...

la variabile $heap, se privata, come fa a prendersela il metodo di stampa?
Dovrai passargliela come parametro no?
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:49   #9
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Non mi convince il passaggio di parametri...

la variabile $heap, se privata, come fa a prendersela il metodo di stampa?
Dovrai passargliela come parametro no?
Scusa...ma se io faccio così non dovrebbe andare bene?

La mia variabile heap è privata, quindi è visibile solo nella classe. Se io dichiaro un metodo PUBLICO interno alla classe che stampa heap questo dovrebbe funzionare da interfaccia tra l'utente che usa la classe ed il contenuto della classe che è privato...per fare information hiding e nascondere l'implementazione della classe.
Se io dichiaro privata la variabile heap è perchè non voglio far sapere all'utente che usa la classe come l'ho implementata...e gli fornisco un metodo stampa() d'interfaccia...

O sbaglio qualcosa?

Grazie
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:53   #10
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
Scusa...ma se io faccio così non dovrebbe andare bene?

La mia variabile heap è privata, quindi è visibile solo nella classe. Se io dichiaro un metodo PUBLICO interno alla classe che stampa heap questo dovrebbe funzionare da interfaccia tra l'utente che usa la classe ed il contenuto della classe che è privato...per fare information hiding e nascondere l'implementazione della classe.
Se io dichiaro privata la variabile heap è perchè non voglio far sapere all'utente che usa la classe come l'ho implementata...e gli fornisco un metodo stampa() d'interfaccia...

O sbaglio qualcosa?

Grazie
Mmmm secondo me devi definire globale la variabile... in modo che tutti i metodi dell'oggetto possano accedervi
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:56   #11
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Mmmm secondo me devi definire globale la variabile... in modo che tutti i metodi dell'oggetto possano accedervi
Ma se è globale non la vedono anche fuori dalla classe?
Cmq credo che ci sia proprio un problema a livello semantico...ho provato anche ad inserire un echo $heap[1]; alla fine del costruttore...e non viene visualizzato nulla...è come se l'array heap fosse vuoto...doh

Ultima modifica di e-commerce84 : 07-11-2009 alle 18:59.
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 18:58   #12
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
Ma se è globale non la vedono anche fuori dalla classe?
Da quel che ricordo io della OOP no
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:02   #13
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Da quel che ricordo io della OOP no
mmm aspe te che intendi per globale? e come faccio a dirgli che quella variabile deve essere globale? non intendi pubblica giusto?
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:05   #14
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
mmm aspe te che intendi per globale? e come faccio a dirgli che quella variabile deve essere globale? non intendi pubblica giusto?
No intendo globale, con la parola riservata global;

Le variabili globali sono variabili che possono venire usate da tutte le procedure e dal programma principale. Si tratta di variabili che sono definite al di fuori delle procedure, e che sono accessibili da tutti i blocchi del programma.
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:09   #15
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
No intendo globale, con la parola riservata global;

Le variabili globali sono variabili che possono venire usate da tutte le procedure e dal programma principale. Si tratta di variabili che sono definite al di fuori delle procedure, e che sono accessibili da tutti i blocchi del programma.
Quindi dici che dovrei definire globale la variabile private heap?

Intendi così: private global $heap = array();

Però mi da il seguente errore: Parse error: parse error, expecting `T_VARIABLE' in C:\xampp\htdocs\PHPEsempi\algoritmiOrdinamento\Heap.php on line 11

Che intendi esattamente?
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:17   #16
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
Quindi dici che dovrei definire globale la variabile private heap?

Intendi così: private global $heap = array();

Però mi da il seguente errore: Parse error: parse error, expecting `T_VARIABLE' in C:\xampp\htdocs\PHPEsempi\algoritmiOrdinamento\Heap.php on line 11

Che intendi esattamente?
O è privata o è globale
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:19   #17
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
O è privata o è globale
Anche questo è vero...tuttavia se faccio:
global $heap = array();

mi da sempre
Parse error: parse error, expecting `T_FUNCTION' in C:\xampp\htdocs\PHPEsempi\algoritmiOrdinamento\Heap.php on line 11
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:21   #18
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
Anche questo è vero...tuttavia se faccio:
global $heap = array();

mi da sempre
Parse error: parse error, expecting `T_FUNCTION' in C:\xampp\htdocs\PHPEsempi\algoritmiOrdinamento\Heap.php on line 11
Scopro ora che non puoi indicare un array globale?
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:24   #19
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Scopro ora che non puoi indicare un array globale?
Si ma cmq non credo dipenda da quello...in Java ho fatto varie cose analoghe...almeno così mi sembra di ricordare...

L'altra cosa che mi fa sospettare che non dipenda da quello è il fatto che se provo a far visualizzare (come test) ad esempio il primo elemento dell'array heap alla fine del costruttore non mi visualizza nulla...quindi mi viene il sospetto che per qualche motivo non popoli proprio l'array heap

Mi servirebbe un debbugger che mi fa vedere passo passo cosa succede...ne esistono?
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 19:50   #20
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
Si ma cmq non credo dipenda da quello...in Java ho fatto varie cose analoghe...almeno così mi sembra di ricordare...

L'altra cosa che mi fa sospettare che non dipenda da quello è il fatto che se provo a far visualizzare (come test) ad esempio il primo elemento dell'array heap alla fine del costruttore non mi visualizza nulla...quindi mi viene il sospetto che per qualche motivo non popoli proprio l'array heap

Mi servirebbe un debbugger che mi fa vedere passo passo cosa succede...ne esistono?
certo, o utilizzi la funzione print_r di php e ti crei un debugging manuale oppure guarda su eclipse, ci sono diversi debugger integrati per php (mi pare che uno si chiami Xdebugger) però non vorrei ricordare male.
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
iPhone 16 domina il 2025: ecco la classi...
Huawei a supporto delle startup: potenzi...
Iliad è il miglior operatore di l...
Le pompe di calore parlano italiano: Bon...
Moltbot non è solo un chatbot: ag...
Sinner e Alcaraz fermati dall'arbitro: i...
L'audio-video professionale arriva a MIR...
Musk fa i complimenti alla Cina: nel set...
Agcom ha avviato verifiche sul format 'F...
Bose QuietComfort Ultra (2ª Gen) a meno ...
Non è vero niente: H200 in attesa...
Fanatec lancia un nuovo plugin ufficiale...
Anna's Archive vs Spotify: vizio di legg...
Bastano 200 auto elettriche per cambiare...
Tesla rimette le batterie 4680 nella Mod...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v