---
title: "Kolla efter dubletter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/128174-kolla-efter-dubletter"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "adde"
published: "2005-05-13T12:48:33.000Z"
updated: "2005-05-14T09:17:28.000Z"
replies: 4
views: 323
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/128174-kolla-efter-dubletter"
---

# Kolla efter dubletter

## #1 — adde, 2005-05-13T12:48Z

Är inte speciellt duktig på PHP och har stött på ett problem som jag hoppas någon kan hjälpa mig med.

Jag läser upp lite värden i en sessionsvariablel varje gång man trycker på en knapp, saken är den att man kan klicka på samma knapp flera gånger men jag vill endast att sessionsvariablen ska utöka sig själv med unika "knappar" alltså inga dubletter i sessionsvarablen. testade att använda array_key_exist, men det verkra inte som om det fungerar med sessions variabler... hur löser jag detta enklast?

Warning: array_key_exists() \[function.array-key-exists\]: The second argument should be either an array or an object in...

Har testat följande kod:  

			if (array_key_exists($\_POST\['hiddenName'\], $\_SESSION\['hiddenName'\])) {
			echo "värdet finns redan i arrayen";
			} else{
			$\_SESSION\['hiddenName'\] = $\_SESSION\['hiddenName'\].",".$\_POST\['hiddenName'\];
			echo "Har lagt till värdet i sessions variablen: ";
			}

Permalänk: https://www.webforum.nu/p/128174

## #2 — Matte, 2005-05-13T13:08Z

$\_POST\['hiddenName'\] måste vara en array om du ska köra array_key_exists() på den.

Gör något på det här hållet

```php
if (!isset($_SESSION['hiddenName'])) {
   $_SESSION['hiddenName'] = array();
}

if (in_array($_POST['hiddenName'], $_SESSION['hiddenName'])) {
   echo "värdet finns redan i arrayen";
} else{
   $_SESSION['hiddenName'][] = $_POST['hiddenName'];
   echo "Har lagt till värdet i sessions variablen: ";
}
```

Vill du sedan skriva ut dina "hiddenName" kommaseparerade kan du göra något på det här hållet:

```php
echo implode(", ", $_SESSION['hiddenName']);
```

Permalänk: https://www.webforum.nu/p/1612122

## #3 — adde, 2005-05-13T16:25Z

Strålande

Tack så mycket det fungerar perfekt!

jag vill nu skriva ut värdena (namnen som finns i $\_SESSION\['hiddenName'\]) i en selectbox. 

antar att jag lämpligen använder en foreach sats, men hur gör jag det smidigast?

Permalänk: https://www.webforum.nu/p/1612207

## #4 — Matte, 2005-05-13T16:47Z

Testa med

```php
<select name="namn">
<?php
foreach ($_SESSION['hiddenName'] as $hidden) {
   echo "<option>$hidden</option>\n";
}
?>
</select>
```

Permalänk: https://www.webforum.nu/p/1612216

## #5 — adde, 2005-05-14T09:17Z

Tack!

Tack så mycket, nu förstår jag till och med hur det fungerar ;)

Permalänk: https://www.webforum.nu/p/1612384

---

Tråden på webben: https://www.webforum.nu/amne/php/128174-kolla-efter-dubletter
