---
title: "Söka i array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/142992-söka-i-array"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2006-02-24T17:48:22.000Z"
updated: "2006-02-24T18:43:52.000Z"
replies: 6
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/142992-söka-i-array"
---

# Söka i array

## #1 — learn, 2006-02-24T17:48Z

Jag vill kontrollera ifall ett nummer finns med i en array. Varför funkar inte detta:

```php
$string = "12,13,14,15";
$selected = explode(",",$string);
if (array_key_exists('12', $selected)) {
   echo "Finns!";
}
```

Skriver jag bara '1' istället för '12' så hittas det, men '1' finns ju inte med i arrayen....??

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

## #2 — Matte, 2006-02-24T18:04Z

array_key_exists söker på index, och dina index är 0, 1, 2 och 3.

Du ska använda [array_search](http://www.php.net/manual/en/function.array-search.php) istället.

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

## #3 — learn, 2006-02-24T18:10Z

Ok!

Hur tycker du jag ska använda funktionen på bästa och enklaste sätt då?

Fel:

```php
$string = "12,13,14,15";
$selected = explode(",",$string);
if (array_search('12', $selected)) { echo "Finns!"; }
```

Känns lite omständigt:

```php
   $found=array();
foreach($array as $k=>$v){
  if(strtolower($v)==strtolower($str)){
    $found[]=$v;
  }
}
$f=count($found);
if($f===0)return false;elseif($f===1)return $found[0];else return $found;
```

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

## #4 — Matte, 2006-02-24T18:23Z

```php
if (array_search('12', $selected) !== false) {
   echo "Finns!"; 
}
```

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

## #5 — learn, 2006-02-24T18:26Z

Givet...Man tackar, Matte!

Btw, vad ärdet för skillnad mellan !== och !=

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

## #6 — Matte, 2006-02-24T18:42Z

!== kollar på typen också.

Din array_search() resulterade i index 0 (noll), och din if-sats blev därför false.
När ingen träff hittas med array_search() returnerar den false, och för att särskilja 0 (noll) mot false används !== istället.

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

## #7 — learn, 2006-02-24T18:43Z

Aha, förstår!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/142992-söka-i-array
