[PHP] Laatse Object van Array verwijderen in Class

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Hallo, Ik heb een probleem met het verwijderen van de laatste key uit een array. De array is een variabele van een classe. De code zit er als volgt uit:

PHP:
1
2
3
4
5
6
7
8
9
10
11
function setBasket($key){
    $totaal = count($this->winkelwagen);
    for($key; $key < $totaal; $key++){
        if($key == ($totaal -1)){
            //Verwijder de laatste in de array
                        $value = array_pop($this->winkelwagen);
        } else {
            $this->winkelwagen[$key] = $this->winkelwagen[$key + 1];
        }
    }
}


Het doel van de functie is om een object uit de array te verwijderen. Heeft iemand enig idee hoe ik dit kan oplossen. Ik heb hier en op Google gezocht maar kan niks vinden.

Hij komt wel in de IF waar de $value staat. Alleen het array_pop geeft geen resultaat.

Ik hoop dat iemand het ziet.

[ Voor 6% gewijzigd door JoostMartijn op 28-11-2006 01:23 ]

Windsoft


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 13:13

MBV

code:
1
unset($this->winkelwagen[count($this->winkelwagen)-1]);

Ofzo? Waarom ga je door de hele array heen loopen om het laatste element te krijgen?
Sowieso kan je met end($array) het laatste element uit een array opvragen, en volgens mij moet je die ook met unset kunnen behandelen, maar dat weet ik niet zeker :)

code:
1
$value = array_pop($this->winkelwagen);

Dit is exact hetzelfde als wat jij doet, behalve dan alle indexen met 1 verlagen. Dat kan je dus voor het overzicht beter buiten je while-loop houden voor het overzicht, en de conditie van je for veranderen in $key < $totaal - 1. En volgens mij wil jij precies het effect van www.php.net/array_shift bereiken :)

[ Voor 36% gewijzigd door MBV op 28-11-2006 01:34 ]


Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-06 14:38

disjfa

be

http://nl3.php.net/array_pop

Je zet trouwens ook al je elementen een terug met je functie 8)7 Dat betekend dat je array gaat beginnen bij -1. En je haalt je laatste element er alleen uit als er een laatste element is. Zal een beetje moeilijk worden als je een array hebt zonder laatste element 8)7

Array functies zijn er genoeg in php. Zoek degeen op die je nodig hebt voor je met array`s gaat spelen. Dat helpt tijd besparen. Functies zijn er. Die hoef je niet zelf te schrijven.

[ Voor 89% gewijzigd door disjfa op 28-11-2006 01:35 ]

disjfa - disj·fa (meneer)
disjfa.nl