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
nombrados por claves y valores correspondientes. Observe que en este caso antes de PHP 7.2.0 las claves numéricas
eran inaccesibles a menos que fueran iteradas.
<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // muestra 'bool(true)' desde PHP 7.2.0; 'bool(false)' anteriormente
var_dump(key($obj)); // muestra 'string(1) "1"' desde PHP 7.2.0; 'int(1)' anteriormente
?>
Para cualquier otro valor, una variable miembro llamada scalar
contendrá
el valor.
<?php
$obj = (object) 'ciao';
echo $obj->scalar; // muestra 'ciao'
?>