Avatar billede dmg Nybegynder
08. juli 2005 - 12:45 Der er 1 løsning

Returnerer et array fra klasse

Jeg har nedenstående klasse, som har 3 metoder. Priotet1, 2 og 3. I tredje metode priotet3 vil jeg gerne have returneret mit array $this->PrioArray.

Men det er åbenbart helt umuligt? Nedenstående ses klassen.

class SolutionHandler
{
    private $oAfdelingBehov;
    private $oaAfdelingBehov;
    private $oAfdelingBehovHandler;
    private $oAfdelingsHandler;
    private $oDb;
    private $Prio1;
    private $Prio2;
    private $Prio3;
    private $PrioArray = array();
   
   
   
    function __construct()
    {
        $this->oAfdelingBehov = new AfdelingsBehov();
        $this->oAfdelingBehov = new AfdelingsBehov();
        //$this->oAfdelingBehovHandler = new AfdelingsBehovHandler();
        $this->oAfdelingHandler = new AfdelingHandler();
        $this->oDb = new Database();
       
    }
       
    public function Priotet1($MedarbejderId, $PriotetId1, $PriotetId2, $PriotetId3, $afdArray)
    {       
        foreach($afdArray as $AfdelingsBehov)
        {
            if($AfdelingsBehov['AfdelingId'] == $PriotetId1 && $AfdelingsBehov['Counter'] > 0)
                $this->PrioArray['Priotet1'] = $AfdelingsBehov['AfdelingId'];
        }
        $this->Priotet2($MedarbejderId, $PriotetId1, $PriotetId2, $PriotetId3, $afdArray);   
    }
   
    public function Priotet2($MedarbejderId, $PriotetId1, $PriotetId2, $PriotetId3, $afdArray)
    {
       
        foreach($afdArray as $AfdelingsBehov)
        {
            if($AfdelingsBehov['AfdelingId'] == $PriotetId2 && $AfdelingsBehov['Counter'] > 0)
                $this->PrioArray['Priotet2'] = $AfdelingsBehov['AfdelingId'];
        }
        $this->Priotet3($MedarbejderId, $PriotetId1, $PriotetId2, $PriotetId3, $afdArray);       
    }
   
    public function Priotet3($MedarbejderId, $PriotetId1, $PriotetId2, $PriotetId3, $afdArray)
    {
       
        foreach($afdArray as $AfdelingsBehov)
        {
            if($AfdelingsBehov['AfdelingId'] == $PriotetId3 && $AfdelingsBehov['Counter'] > 0)
                $this->PrioArray['Priotet3'] = $AfdelingsBehov['AfdelingId'];
        }       
           
       
       
        //print "<pre>";
        //print_r($this->PrioArray);
        //print "</pre>";
       
        return $this->PrioArray;
       
       
       
    }
}

Den printer fint arrayet ud med print_r, men prøver jeg at returnere det, modtager jeg intet???

Klassen bliver kaldt her:

foreach($readAllMedarbejderBehov as $MedarbejderBehov)
{   
    $test = $oSolutionHandler->Priotet1($MedarbejderBehov->getId(), $MedarbejderBehov->getPrio1Id(), $MedarbejderBehov->getPrio2Id(), $MedarbejderBehov->getPrio3Id(), $AfdelingerArrayCounter);
   
   
    print "<pre>";
    print_r($test);
    print "</pre>";
}
Avatar billede dmg Nybegynder
08. juli 2005 - 14:53 #1
jeg lukker ned igen. Man skulle bare returnere metoderne til hinanden istedet for at kalde dem direkte og så kan man returnerer det endelige resultat i den sidste metode
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester