Avatar billede mxs Nybegynder
03. december 2005 - 18:54 Der er 5 kommentarer og
1 løsning

Array i class bliver ikke udskrevet korrekt

Hej eksperter

Jeg sidder med et lille problem. Jeg har 3 filer, class1.php , der.php og test.php
I får lige koden til dem her.

class1.php
<?php

class base
{

        var $a;


        function base()
        {
                $this->a = array();
        }



        function add($b)
        {
                array_push($this->a,$b);
        }

        function getArray()
        {
                print_r($this->a);
        }


}

?>

der.php
<?php

class der
{

        var $base;

        function der($b)
        {
                $this->base = &$b;
        }



        function addSomethings()
        {
                $this->base->add("hej");
                $this->base->add("Walle er sej");
                $this->base->getArray();

        }

}


?>

test.php
<?php
require_once("class1.php");
require_once("der.php");

$a = new base();
$d = new der($a);
$d->addSomethings();

$a->getArray();



?>

Som i kan se har jeg en base class med et array. hele objektet sender jeg videre til det objekt som bliver lavet ud fra der klassen. Jeg opdaterer her arrayet i der klassen, men når jeg, bagefter i test.php prøver at skrive det ud er arrayet tomt, men når jeg udskriver det i selve der klassen, så bliver den opdateret. Hvordan kan det være? Er det fordi at hele objektet jeg sender med bare bliver kopieret? Hvordan løser jeg dette problem? Jeg har prøvet at smide nogle refferencer ind, men jeg fik ingenting tilbage andet end det samme som før. Jeg har nok gjort det forkert.

Håber en eller anden kan hjælpe.

Mvh. Martin Slot
Avatar billede erikjacobsen Ekspert
03. december 2005 - 19:40 #1
Prøv

function der(&$b)
Avatar billede mxs Nybegynder
03. december 2005 - 19:57 #2
Virker ikke. Kan simpelthen ikke forstå det. Refferencer er noget underligt noget i php synes jeg.
Avatar billede mxs Nybegynder
03. december 2005 - 20:00 #3
:) Self. jeg skal jo lige bruge mit eks. som jeg smed op her, så virker det perfekt. Tak for det Erik. Smid et svar og du skal få dine point.
Avatar billede erikjacobsen Ekspert
03. december 2005 - 20:01 #4
Det skulle give denne udskrift med ændringen:

Array ( [0] => hej [1] => Walle er sej ) Array ( [0] => hej [1] => Walle er sej )
Avatar billede erikjacobsen Ekspert
03. december 2005 - 20:01 #5
Ok da. Men jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede mxs Nybegynder
16. december 2008 - 21:02 #6
Svar
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