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