Avatar billede 7th Praktikant
26. september 2003 - 02:32 Der er 7 kommentarer og
1 løsning

Tilføj til et session array

Jeg har et array i mit $_SESSION['id'] med værdierne 1, 2, 3.

1: Hvordan får jeg tilføjet yderligere en værdi i det eksisterende array i mit $_SESSION['id'], så det for eksempel kommer til at indholde værdierne 1, 2, 3, 4?

2: Hvordan kan jeg checke om en bestemt værdi allerede eksisterer i mit $_SESSION['id'] array? Hvis mit $_SESSION['id'] for eksempel indholder værdierne 1, 2, 3, 4 - så skal det ikke være muligt at tilføje en af disse værdier.
Avatar billede 7th Praktikant
26. september 2003 - 03:18 #1
Punkt 2 har jeg løst.

if (in_array (x , $_SESSION['id']) == false) {
echo "value isn't in array";
}

else {
echo "value is in array";
}
Avatar billede googolplex Novice
26. september 2003 - 06:57 #2
1:

$_SESSION['id'][] = 4;
Avatar billede 7th Praktikant
26. september 2003 - 17:23 #3
Ding dong tak :o) Kan du også svare mig på hvordan jeg gør det modsatte, altså fjerner en bestemt værdi i mit $_SESSION['id'] array?
Avatar billede 7th Praktikant
26. september 2003 - 20:27 #4
Nu har jeg også løst det med at fjerne en bestemt værdi.

for ($i = 0; $i < count ($_SESSION['id']); $i++) {
    if ($_GET['id'] == $_SESSION['id'][$i]) {
    unset ($_SESSION['id'][$i]);
    }
}

Tak for hjælpen.
Avatar billede 7th Praktikant
26. september 2003 - 20:36 #5
Nææ, den er ikke helt rigtig.
Avatar billede 7th Praktikant
26. september 2003 - 20:46 #6
Når jeg har brugt unset på en vilkårlig værdi i array, og så udskriver array, så får jeg fejlen, Undefined offset: 2. Hvorfor?
Avatar billede erikjacobsen Ekspert
26. september 2003 - 20:48 #7
Når den ikke er der, så er den der ikke ;) Prøv

  foreach ($_SESSION['id'] as $key=>$val) {
      print "$key $val<br>";
  }
Avatar billede 7th Praktikant
26. september 2003 - 20:57 #8
Nej og ja :o) Jeg tror der var noget andet galt. Unset kan fint slette en vilkårlig værdi fra et array, men når man så efterfølgende retunerer sammen array, så er det som om arrayet er gået i stykker. Jeg faldt over denne sætning
http://dk.php.net/manual/en/function.unset.php "don't use unset for deleting elements from an array, this creates an unstable array in my experience."

Med array_splice ($_SESSION['id'] , $i , 1) virker det fint, også når jeg efterfølgende returnerer samme array :o)
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