Objekte

Initialisierung von Objekten

Ein neues Objekt (Typ object) kann erstellt werden, indem mit der Anweisung new eine Klasse instanziiert wird:

<?php
class foo
{
function
do_foo()
{
echo
"Mache foo.";
}
}

$bar = new foo;
$bar->do_foo();
?>

Eine ausführliche Erörterung ist im Kapitel Klassen und Objekte zu finden.

Konvertierung in ein Objekt

Wenn ein Objekt in ein Objekt konvertiert wird, wird es nicht verändert. Wenn ein Wert irgendeines anderen Typs in ein Objekt konvertiert wird, dann wird ein neues Exemplar der eingebauten Klasse stdClass erstellt. Wenn der Wert null war, wird das neue Exemplar leer sein. Ein Array wird in ein Objekt konvertiert, indem die Schlüssel und Werte des Arrays zu den Namen und Werten der Eigenschaften des Objekts werden. Es ist zu beachten, dass in diesem Fall vor PHP 7.2.0 nicht auf numerische Schlüssel zugegriffen werden konnte, es sei denn, sie wurden iteriert.

<?php
$obj
= (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // Ausgabe 'bool(true)' von PHP 7.2.0 an; 'bool(false)' zuvor
var_dump(key($obj)); // Ausgabe 'string(1) "1"' von PHP 7.2.0 an; 'int(1)' zuvor
?>

Für alle anderen Werte enthält eine Member-Variable namens scalar den Wert.

<?php
$obj
= (object) 'ciao';
echo
$obj->scalar; // Ausgabe 'ciao'
?>
To Top