• User Newbie

    Problema Return array

    public function elimina_truppe($potenza,$tribu,$array_unit){//$vita,$tribu,$array_unit){ //da controllare
    			
    			$start = ($tribu == 1)? 1 : (($tribu == 2)? 11 : 21);
    			for($t=$start;$t<10+$start;$t++){
    				global ${"u".$t};
    					
    				if($array_unit>0){	
    					$vita_unit=(${"u".$t}['wood']+${"u".$t}['clay']+${"u".$t}['iron']+${"u".$t}['crop']);
    					$amt=$array_unit;
    					$ris=$this->ricorsiva_elimina_truppe($potenza,$vita_unit,$amt);
    					$potenza=$ris[0];
    					$array_unit=$ris[1];
    					//echo $ris[1];
    				}
    			}
    		
    			$scarto=$potenza;
    			return array($array_unit,$scarto);
    		}
    		
    		public function ricorsiva_elimina_truppe($potenza,$vita_unit,$amt){//99% giusta
    		
    			if(($potenza>=$vita_unit)&&($amt>0)){
    				$potenza-=$vita_unit;
    				$amt--;
    				$this->ricorsiva_elimina_truppe($potenza,$vita_unit,$amt);
    			}else{
    				//echo $amt;
    				return array($potenza,$amt);
    			}					
    		}
    

    ps:ho messo gli echo come commenti;
    il problema e' che nella seconda funzione $amt lo stampa ed e' un valore ex 27
    quando gli faccio fare return e poi lo richiamo [//echo $ris[1];] non mi stampa nnt come se fosse vuoto...
    dove sta l'errore? ^^
    grazie a tutti per l'attenzione


  • User Newbie

    risolto chiudete xD