---
title: "3-D array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/48689-3-d-array"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "nkrantz"
published: "2002-07-25T12:19:54.000Z"
updated: "2002-07-29T08:32:13.000Z"
replies: 5
views: 230
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/48689-3-d-array"
---

# 3-D array

## #1 — nkrantz, 2002-07-25T12:19Z

Hm.. har lite problem... Skall lägga in data från en mega fet array in i databasen. Arrayen ser ut så här:

$question\[$fragaID\]\[$alternativID\]\['en_text'\];

en_text kan antingen vara 'question_multiple', 'question_name' eller 'alt_name'. Om det är något av question_multiple' eller 'question_name' så är $alternativID alltid 0.

Hur i h\*\*\*\*\*e får jag fram de olika värderna som arrayen innehåller.. Sitter med en mäng loopar och får fram varje $alternativID för varje $fragaID. Men sen vill den inte längre. x( 

```php
<?
while (list ($key, $val) = each ($question))
{
	while (list ($k, $v) = each ($val))
	{
		while (list ($ke, $va) = each ($question[$key]))
		{
			echo $ke; // Detta är indexnumret, dvs $alternativID;
		}
	}
}
```

 

tänkte att det borde gå att använda texterna för att få fram resten, men det funkar inte  :( 

// Nippe

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

## #2 — nkrantz, 2002-07-25T12:41Z

Det löste sig lite...

```php
while (list ($key, $val) = each ($question))
		{
			echo $key."<br>";
			while (list ($k, $v) = each ($val))
			{
				while (list ($ke, $va) = each ($question[$key]))
				{
					while (list ($a, $b) = each ($va))
					{
						if ($a == "'question_name'")
						{	
							if ($key != 0)
							{
								if ($b != "")
								{
									echo $ke."Updatera: ".$b."<br>";// visar coola saker
								}
								else
								{
									echo $ke."Bort med: ".$b."<br>";// visar coola saker
								}
							}
							else
							{
								if ($b != "")
								{
									echo "Lägg till: ".$b."<br>";// visar coola saker
								}
							}
						}
						if ($a == "'alt_name'")
						{	
							if ($ke != 0)
							{
								if ($b != "")
								{
									echo $ke."Updatera: ".$b."<br>";// visar coola saker
								}
								else
								{
									echo $ke."Bort med: ".$b."<br>";// visar coola saker
								}
							}
							else
							{
								if ($b != "")
								{
									echo "Lägg till: ".$b."<br>";// visar coola saker
								}
							}
						}
					}
					//echo $ke;// visar coola saker
				}
			}
			echo "<br><br>";
		}
```

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

## #3 — SPiN, 2002-07-25T15:19Z

Jeez, är du säker på att du verkligen programmerar efter bästa möjliga struktur? ;)

Det ser lite omständigt ut det där, men fick du det att funka så... :bire

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

## #4 — nkrantz, 2002-07-26T10:06Z

> Jeez, är du säker på att du verkligen programmerar efter bästa möjliga struktur?

Njea... men alltså.. det är ett formulär som man ska kunna lägga till, ta bort, och uppdatera på samma gång.. därför alla if-satser... 

> Det ser lite omständigt ut det där, men fick du det att funka så

Jo, det funkar iaf, och kunden behöver ju inte glo på koden å se att den e halvsunkig ;) Något bättre sett att lösa det på?

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

## #5 — SPiN, 2002-07-26T20:20Z

> Något bättre sett att lösa det på?

Nope, eftersom att jag inte sitter med projektet själv. Däremot strukturen. Jag skulle åtminstone ha använt funktioner för att strukturera bättre.

Exempel:

```
if( $checkboxUpdate == "Value på checkbox för uppdatering" ) {
     UpdatePost( $nåtSlagsVärde );
}
if( $checkboxAdd == "Value på checkbox för tilläggning(?)" ) {
     AddPost();
}
if( $checkboxDelete == "Value på checkbox för borttagning" ) {
     DeletePost( $nåtSlagsVärde );
}

function UpdatePost( &$nåtVärde ) {
     $nåtVärde = "Nytt värde";
}

function AddPost() {
     // Lägg till nåt nånstans
}

function DeletePost( &$nåtVärde ) {
     $nåtVärde = "";
}
```

Något liknande ivf, hoppas att du förstår mitt resonemang. :)

Det blir enklare att hitta fel eller bygga om, om du gör så. Det bästa är att använda sig av klasser för att få en bra stuktur, och PHP's OOP-kapabilitet blir bara bättre och bättre. Nu kan man t.o.m. använda privata variabler! :i ;)

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

## #6 — nkrantz, 2002-07-29T08:32Z

Jo, du har nog rätt att man kanske borde använda sig av funktioner... projektet är klassuppbyggt, och det är iofs ett udrag ur en funktion ovan.. men kanske smartare att dela upp allt...
//Nippe

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

---

Tråden på webben: https://www.webforum.nu/amne/php/48689-3-d-array
