---
title: "Jämföra värden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/128280-jämföra-värden"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "addeweb"
published: "2005-05-15T18:30:48.000Z"
updated: "2005-05-20T21:39:59.000Z"
replies: 5
views: 390
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/128280-jämföra-värden"
---

# Jämföra värden

## #1 — addeweb, 2005-05-15T18:30Z

Hej!
Jag har ett formulär med 2 grupper med lika antal checkboxar. Ena gruppen gäller ordinarie klasser och den andra gruppen vikarierande klasser. Det handlar inte om PHP-klasser, istället är det frågan om vilka träningsklasser som en instruktör har och kan markera med checkboxar. Om denne instruktör råkar markera likadan klass i båda grupperna, måste man se till att dubbletter inte används. Checkboxarna har samma värden men olika name-attribut som regcid\[\] och subcid\[\]. Om man tar emot värdena från checkboxarna och lägger in dessa i var sin array t.ex session, då kan det bli olika antal element i de två arrayerna. Det innebär också att jämförelse inte kan göras  om samma klass cid-värde finns i ena arrayens första element men finns i den andra arrayens tredje element eftersom två checkboxar före den tredje i andra gruppen har markerats. Såvitt jag vet, måste två arrayer ha lika antal element för att kunna jämföras. 

Finns det någon här som vet hur man kan lösa detta? Något förslag?

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

## #2 — lunarmys, 2005-05-16T06:27Z

tja, enklast är väl att du kör ngt i stil med

for($x=0;$x\<sizeof($regcid);$x++)
{
 if (in_array($regcid\[$x\], $subcid) == true)
 {
  echo "värdet " . $regcid\[$x\] . " finns i båda array'erna.\<br\>";
 }
}

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

## #3 — addeweb, 2005-05-16T22:10Z

Det kan fungera men vad händer då istället om de markerade checkboxarna i subcid-gruppen råkar vara flera än checkboxarna i regcid-gruppen?  Det innebär också att subcid-arrayen kan ha  flera element än regcid-arrayen. Lösningen ovan fungerar så länge regcid-arrayen har flera element än den andra arrayen. Denna lösning kan behöva kompletteras om jag har fattat rätt?

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

## #4 — addeweb, 2005-05-19T19:03Z

Det var som jag trodde. Jämföra värden genom att markera flera regcid-checkboxar än de i subcid-gruppen fungerar men inte om man markerar flera st subcid-boxar än de förstnämnda. Man får då istället en blank sida.

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

## #5 — Matte, 2005-05-19T21:24Z

Vill du kolla vilka värden som finns i bägge arrayerna borde det gå bra med [array_intersect](http://www.php.net/manual/en/function.array-intersect.php).

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

## #6 — addeweb, 2005-05-20T21:39Z

Har nu fått det att fungera. Tack för tipset.
Här är ett exempel som jag gjort:

```php
// Kontrollera om användaren valt likadana klasser
if(array_intersect($_SESSION['regular']['regcid'], $_SESSION['substitute']['subcid'])){
	
		header("Location: index.php?p=update_profile&next=2&status=similar"); // Till del 2
	
}else{ // Annars inga likadana klasser och tillbaka till första sidan.			
	
		header("Location: index.php?p=profile&status=new");
	}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/128280-jämföra-värden
