---
title: "Returnera en array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/189775-returnera-en-array"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Jester73"
published: "2012-05-16T12:03:20.000Z"
updated: "2012-05-18T14:07:48.000Z"
replies: 9
views: 920
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/189775-returnera-en-array"
---

# Returnera en array

## #1 — Jester73, 2012-05-16T12:03Z

Hej

Antagligen har jag bara glömt ett komma någonstans men here goes!

Varför returnerar följande kod inte en array?

```php
function rensaFormular(){
	while (list($key, $val)=each($_POST)){
		if (!strpos($key, "exc_",0)==0) {
   			$cleanvalue[$key]=$val;
		}  
	}
	return $cleanvalue;
}
```

Jag har en annan funktion som däremot returnerar en array utan problem, vad är skillnaden?

```php
//Månadsarray
function manaderNum(){
	$mandader[1]="Januari";
	$mandader[2]="Februari";
	$mandader[3]="Mars";
	$mandader[4]="April";
	$mandader[5]="Maj";
	$mandader[6]="Juni";
	$mandader[7]="Juli";
	$mandader[8]="Augusti";
	$mandader[9]="September";
	$mandader[10]="Oktober";
	$mandader[11]="Novmeber";
	$mandader[12]="December";
	
	return $mandader;
}
```

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

## #2 — Gildebrand, 2012-05-16T12:21Z

skriv ==each istället för =each

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

## #3 — Jester73, 2012-05-16T12:47Z

Funkar inte alls

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

## #4 — Jester73, 2012-05-16T13:37Z

Kan tillägga att ovan funktion anropas från följande funktion
 

```php
function buildSQLUpdate($tabell, $urval, $addCol,$addValue){
	$temp=rensaFormular($_POST);
	print_r($temp);
	//array_pop($_POST);
	//array_shift($_POST);
	//while (list($key, $val)=each($temp)){
	//	$tmpvalues=$tmpvalues." ".$key."='".$val."', ";
	//}
	$tmpvalues=trim($tmpvalues);
	$tmpvalues=substr($tmpvalues,0,strlen($tmpvalues)-1);
	$sqlQ="UPDATE $tabell SET $tmpvalues $urval";
	return $sqlQ;
```

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

## #5 — casca, 2012-05-16T14:58Z

Eftersom du kör en if-sats så är det fullt möjligt att du aldrig skapar $cleanvalue som array.

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

## #6 — Jester73, 2012-05-16T19:00Z

Ok men hur skall jag lösa problemet.
Jag provade att sätta upp en array utfrån en sträng men då hade den inte ens läst in $\_POST till funktionen?

Det går väl att anropa $\_POST direkt i den funktionen?

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

## #7 — casca, 2012-05-16T19:53Z

> **[Jester73 skrev:](https://www.webforum.nu/p/1550721)**
>
> Ok men hur skall jag lösa problemet.
> Jag provade att sätta upp en array utfrån en sträng men då hade den inte ens läst in $\_POST till funktionen?
> 
> Det går väl att anropa $\_POST direkt i den funktionen?

 Vad jag menade i första hand var att kontrollera if-satsen, för att se vad som händer.

Men det är också en ohållbar lösning att inte tänka på möjligheten att inga värden validerar, och vad som händer när arrayen inte returnerar nånting.

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

## #8 — walter groupius, 2012-05-16T22:02Z

```php
function rensaFormular(){
 $cleanvalue = false;
foreach($_POST as $key => $value){
	print "<br> loopar post med värdet $value";
  if (!strpos($key, "exc_",0)==0) {
  	print "<br>ifsats sann";
  	$cleanvalue[$key]=$val;
  }
  return $cleanvalue;
}
}
```

kör foreach istället och felsök

eller kör extract på post ;)

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

## #9 — Jester73, 2012-05-17T10:47Z

Jo, jag har felsökt på indatat i $\_POST också och när jag började denna post så hade jag en array i funktionen rensaFormular.

Men det verkar fungera lite si och så vilket i sig är underligt....får nog börja om lite.

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

## #10 — Jester73, 2012-05-18T14:07Z

Har exprimenterat en hel del och det verkar som detta fungerar.

```php
function rensaFormular(){
	foreach($_POST as $key=>$value){
		if (substr_count($key, "exc_",0)==0) {
   			$cvalues[$key]=$value;
		}  
	}
	return $cvalues;
}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/189775-returnera-en-array
