Gå til innhold

Slette fra array?


Anbefalte innlegg

Hei guruar

 

Eg lagar ein veldig enkel webshop. Brukar eit array lagra i ein session for handlevogna. Dette funkar bra fram til eg skal slette fra dette arrayet. Har kikka litt i manualen og på nettet, og det visa seg at unset var tingen. Dette funkar fint.

 

MEN, problemet er at når eg slettar ei vare midt inne i arrayet så blir handlevogna visa feil etterpå. Arrayet kan foreksempel sjå slik ut:

 

array{

[0] = Ost

[1] = Skinke

[2] = Pølse

[3] = Majones

}

 

Så slettar eg element [2] med unset. Da ser arrayet slik ut etterpå:

 

array{

[0] = Ost

[1] = Skinke

[3] = Majones

}

 

Problemet er at når eg nå kjører count på arrayet, så får eg 3. Når eg så skriv up handlevogna på skjermen så visar den [0], [1] og [2]. Men det er ikkje noko i [2] lengere.

 

Spørsmålet er derfor; Korleis kan eg slette fra array og "tette" på samme tid? Med andre ord vil eg at arrayet skal sjå slik ut etter at eg har sletta:

 

array{

[0] = Ost

[1] = Skinke

[2] = Majones

}

 

Takk for svar! :)

Endret av Slaughter
Lenke til kommentar
Videoannonse
Annonse

Bumping er forbudt.

 

Hadde du giddet å titte i PHP-manualen hadde du funnet denne funksjonen under User Contributed Notes:

function eliminarElementoArreglo ($array, $indice)
{
if (array_key_exists($indice, $array)) 
{
$temp = $array[0];
$array[0] = $array[$indice];
$array[$indice] = $temp;
array_shift($array);

//reacomodamos índices
for ($i = 0; $i < $indice; $i++)
{
$dummy = $array[$i];
$array[$i] = $temp;
$temp = $dummy;
}
}
return $array;
}

 

Så vidt jeg har forstått så sletter denne funksjonen et element fra arrayen, og rekalkulerer indeksene, slik at det blir 0, 1 og 2 istedenfor 0, 1 og 3.

Lenke til kommentar
Bumping er forbudt.

Beklager.

Hadde du giddet å titte i PHP-manualen hadde du funnet denne funksjonen under User Contributed Notes:

Hadde liksom håpa at der skulle vera ein innebygd funksjon i PHP som gjorde dette. Men det ser ikkje slik ut, så da får eg vel bruke denne. Og det kan vera greit å hugse at ikkje alle har den manualen som inneheld "User Contributed Notes", sidan den ikkje er så oppdatert som resten av manualane vanlegvis. Men takk for svaret!

Lenke til kommentar
kanskje jeg stiller et dumt spm, men hva er bumping?

Problemet er at så fort topicen du har starta blir "dytta" langt ned eller til neste side så er det praktisk talt ingen som ser på den meir. Kan skjønne at bumping ikkje er lov, men resultatet er at svært mange som potensielt kunne assistert deg ikkje ser spørsmålet. Derfor er det flott at du spør om dette. "Lovlig" bumping ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...