Array an Klasse übergeben

Schänk

Mitglied
Wie kann ich eine Variabel einer Klasse übergeben, sodass diese als Array behandelt wird?
Aber wie erstelle ich ein leeres Array? $variabel = array(); klappt irgendwie nicht...
 
Wo ist das Problem?
Folgender Code gibt aus, dass im ersten Fall ein Array übergeben wurde und im zweiten Fall nicht:
PHP:
<?
class foo {
    function bar($arr) {
        echo is_array($arr)?"Ist ein Array":"Ist kein Array";
        echo "<br>";
    }
}

$var = array();
$f= new foo();
$f->bar($var);
$var="";
$f->bar($var);
?>
Wenn Du ein Problem in Deinem Code hast, solltest Du ihn auch zeigen.
Gruß hpvw
 
Zuletzt bearbeitet:
irgendwie nicht... hier mein Code:

HTML:
$ausgabe = array();
$template = new template($ausgabe);

class template {
	var $templatePlaceholder;
	var $templateInhalt;
	var $templateAusgabe;

	function template($ausgabe) {
		$this->templateAusgabe = $ausgabe;
	}

	function loadTemplate($templateName) {

		$this->templatePlaceholder = $placeholderArray;
		$fileInhalt = file("templates/tmpContent.html");

		return $fileInhalt;
	}

	function fillTemplate($fileInhalt) {

		foreach($fileInhalt as $value) {
			$this->templateInhalt = htmlspecialchars($value);
			ereg("###(.*)###",$this->templateInhalt,$reg);

			$this->templatePlaceholder = ereg_replace($reg[0],"Das isch e Uusgab",$this->templateInhalt);
			$this->templateAusgabe = array_push($this->templateAusgabe, $this->templatePlaceholder);
		}

	return $this->templateAusgabe;
	}
}


Edit: Das Array wird übergeben, das funktioniert.
Nur kann ich es in der Funktion "fillTemplate" nicht als Array verwenden. Bekomme dank dem array_push() die Meldung Warning: First argument to array_push() needs to be an array in c:\apache\htdocs\sardastisch\classes\template.class.php on line 29
 
Zuletzt bearbeitet:
Hab grad gesehen, dass ich in der Funktion fillTemplate das Array trotzdem verwenden kann.
Bekomme aber die Fehlermeldung wegen dem array_push()
 
Kein Wunder, [phpf]array_push[/phpf] hat als Rückgabewert einen int.
Im ersten Schleifendurchlauf machst Du damit das Array zum int.

Gruß hpvw
 
Zurück