Objekte
Objekt Initialisierung
Um ein neues Objekt (object) zu erstellen, ist die
new
-Anweisung zu verwenden,
um eine Klasse zu instanziieren:
<?php
class foo
{
function do_foo()
{
echo "Mache foo.";
}
}
$bar = new foo;
$bar->do_foo();
?>
Für die vollständige Erörterung ist dem Kapitel Klassen und Objekte zu entnehmen.
Konvertierung zu Objekt
Wenn ein object zu einem object konvertiert wird, wird es nicht
verändert. Wenn ein Wert irgendeines anderen Typs zu einem
object konvertiert wird, dann wird ein neues Exemplar der eingebauten stdClass
Klasse erstellt. Wenn der Wert null
war, wird das neue Exemplar leer sein.
Arrays konvertieren zu object mit nach Schlüsseln
benannten Eigenschaften und korrespondierenden Werten. Es ist zu beachten, dass
in diesem Fall vor PHP 7.2.0 auf numerische Schlüssel außer beim Iterieren nicht
zugegriffen werden konnte.
<?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'
?>