Array waarde niet veranderen na array_push

  • Hallo,


    ik heb de volgende functie:


    Het enige probleem is dat deze lijn code

    PHP
    $contract->tijd = Misc::timestamp(3600, $contract->tijd);


    alle andere tijdwaarden die al in de array zijn gezet ook aanpast naar de laatste tijd en dat mag dus niet...
    Weet iemand een oplossing?


    Willem


    Oplossing

    PHP
    array_push($this->send_array[$contract->source], (array)$contract);


    Blijkbaar werkte het niet omdat die send_array dan een stdClass bevatte ofzoiets...
    Waarschijnlijk iets met de reference van een stdClass, kan iemand meer uitleg geven?

  • Objecten maken gebruik van referenties als jij in je code ergens de referenties aan mekaar linkt en je veranderd in van deze dan van veranderden ze overal. Wat je nu doet is het als array opslaan dit is ruwe data waardoor het wel goed gaat. Maar als ik je code bekijk vraag ik me af of de juiste tijden per gebouw er uit komen met de door jouw geplaatste oplossing.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!