---
title: "Kolla mot en array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/68484-kolla-mot-en-array"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "fluff"
published: "2003-02-16T21:28:14.000Z"
updated: "2003-02-17T00:04:16.000Z"
replies: 4
views: 222
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/68484-kolla-mot-en-array"
---

# Kolla mot en array

## #1 — fluff, 2003-02-16T21:28Z

TjO.

Om man har en lista t.ex så här:

$lista = {1,2,4,5,19,24}

Sen har man $key = 3, då ska $lista\[1\] (värde 2) väljas ut, alltså det numret som är närmast över $key.. (om inte $key värdet finns, då får man det elementet istället)

precis som $lista\[4\] (värde 19) skulle returneras om man angav $key=20.

$lista är förstås dynamiskt, och fylld ett tiotal nummer.

Hur ska man tänka för att få detta att fungera, jag förstår inte riktigt hur man ska gå igenom och kolla, och hur man ska bygga upp det :\\

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

## #2 — rIkLuNd, 2003-02-16T22:06Z

Är $lista redan en array? Det ser inte så ut, och i så fall så måste vi "spräcka" den. Försök med den här koden:

```php
<?php

$lista = "{1,2,4,5,19,24}";

$tmp = ereg_replace("{","",$lista);
$tmp = ereg_replace("}","",$tmp);

$array = explode(",",$tmp);

$key = 20;
if(in_array(($key-1),$array))
{
   echo ($key-1);
}
else
{
   echo "Finns Inte";
}

?>
```

Jag kan ha missförstått dig helt, och i så fall ursäktar jag mig för det!

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

## #3 — fluff, 2003-02-16T23:02Z

Oj :)

Var visst lite otydlig, skulle med ett par \[\] på $lista också, ja, det är en array redan :)

Och grejen är att om numret inte finns i listan, så ska den ta det som är närmast "neråt" avrundat, man ska alltså inte kunna få meddelandet "finns inte"

utan istället få siffran före. :)

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

## #4 — rIkLuNd, 2003-02-16T23:34Z

men hur ser arrayen ut då? så här?

```php
$lista[] = "{1,2,3,4,19,20}";
```

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

## #5 — Matte, 2003-02-17T00:04Z

Något på det här hållet du söker:

```
$lista = array(1,2,4,5,19,24);

$key = 18;

foreach ($lista as $val) {
  if ($key >= $val) {
    $output = $val;
  }
} 

if (!isset($output)) {
   $output = $lista[0];
}

echo $output;
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/68484-kolla-mot-en-array
