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.
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'
?>