Para crear un nuevo object, utilice la sentencia new para instanciar una clase:
<?php
class foo
{
function hacer_algo()
{
echo "Haciendo algo.";
}
}
$bar = new foo;
$bar->hacer_algo();
?>
Para una descripción completa, véase el capítulo Clases y objetos.
Si un object se convierte en un object, éste no se
modifica. Si un valor de cualquier otro tipo se convierte en un
object, se crea una nueva instancia de la clase
stdClass incorporada. Si el valor es NULL
, la nueva instancia
estará vacía. Un array se convierte en un object con las propiedades
nombradas como claves y los valores correspondientes, con la excepción de las claves numéricas, las cuales
serán inaccesibles a menos que sean recorridas.
<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // muestra 'bool(false)'
var_dump(key($obj)); // muestra 'int(1)'
?>
Para cualquier otro valor, una variable miembro llamada scalar contendrá el valor.
<?php
$obj = (object) 'ciao';
echo $obj->scalar; // muestra 'ciao'
?>