---
title: "array i klass - problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/82316-array-i-klass-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Patrik81"
published: "2003-07-19T11:14:17.000Z"
updated: "2003-07-19T12:38:40.000Z"
replies: 1
views: 244
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/82316-array-i-klass-problem"
---

# array i klass - problem

## #1 — Patrik81, 2003-07-19T11:14Z

Jag håller på att skriva en liten klass som skall skriva ut html åt mig tänkte jag. Så jag har då skapat en index fil som inkluderar och anropar min klass

index.php

```php
<?php
require_once("class.input.php");

$apa = new Input();

$array = array(type=>"text", name=>"sfdlkj", css=>"text", desc=>"inget_speciellt");
$apa->setInput($array);
echo($apa->getInput()); // funkar fint, skriver ut <input type="text" name="sfdlkj" class="text" value="" /> inget_speciellt <br />

$array2 = array(
    array ( type=>"text", name=>"login", css=>"text", desc=>"Login namn"),
    array ( type=>"password", name=>"password", css=>"text", 
desc=>"Lösenord")
);

$apa->setInput($array2);
echo($apa->getInput()); // skriver ut <input type="" name="" class="" value="" />  <br />
?>
```

och så klassfilen

```php
<?php
class Input
{
    var $input;

    function setInput($inputArray)
    {
        if (!is_array($inputArray)){
            die("<br />\nERROR!<br />\nsetInput() need an array as argument<br />\n");
        }
		
        if ($inputArray[0] != "Array"){
            // en enda array
            $inputReturnString = "\t<input type=\"" . $inputArray['type'] . "\" name=\"" . $inputArray['name'] . "\" class=\"" . $inputArray['css'] . "\" value=\"" . $inputArray['value'] . "\" /> " . $inputArray['desc'] . " <br />\n";
			
        } else {
            // flera arrayer i en
			
            $inputReturnString = "";
            foreach ($inputArray as $array){
			
                $inputReturnString = $inputReturnString . "\t<input type=\"" . $array['type'] . "\" name=\"" . $array['name'] . "\" class=\"" . $array['css'] . "\" value=\"" . $array['value'] . "\" /> " . $array['value'] . " <br />\n";
				
            }
        }
		
        $this->input = $inputReturnString;
		
    }
	
    function getInput()
    {
        return $this->input;
    }
}
?>
```

Och som det står i kommentaren i koden, skickar jag bara en vanlig array, så funkar det klockrent, men om jag skickar ett flertal arrayer i arrayen, så skriver den bara ut en enda rad, utan några värden i, trots att den, tycker jag, borde skriva ut en rad för varje array, eftersom jag lägger på den nyskapade raden i varje loop, i den gamla strängen, bakom värdena som redan finns där.

Någon som kan säga vad jag gör för fel här?

MVH Patrik

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

## #2 — Patrik81, 2003-07-19T12:38Z

Jag löste problemet, det var den där fula kontrollen om det var en enkel array eller flerdimensionell som gjorde allt dumt.

löste det genom att ändra min setInput funktion till detta:

```php
function setInput($inputArray, $mode=0)
{
    if (!is_array($inputArray)){
        die("<br />\nERROR!<br />\nsetInput() need an array as argument<br />\n");
    }
		
    if ($mode == 0){
        // enkel array
        $inputReturnString = "<input type=\"" . $inputArray['type'] . "\" name=\"" . $inputArray['name'] . "\" class=\"" . $inputArray['css'] . "\" value=\"" . $inputArray['value'] . "\" /> " . $inputArray['desc'] . " <br />\n";
    } else {
        // flera arrayer i den stora
        $inputReturnString = "";
        foreach ($inputArray as $array){
            $inputReturnString = $inputReturnString . "\t<input type=\"" . $array['type'] . "\" name=\"" . $array['name'] . "\" class=\"" . $array['css'] . "\" value=\"" . $array['value'] . "\" /> " . $array['desc'] . " <br />\n";
        }
    }
			
    $this->input = $inputReturnString;
		
}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/82316-array-i-klass-problem
