Para criar um novo object, utilize a instrução new
para instanciar uma classe:
Exemplo #1 Construção de objeto
<?php
class foo
{
function do_foo()
{
echo "Fazendo foo.";
}
}
$bar = new foo;
$bar->do_foo();
?>
Para uma discussão completa, veja o capítulo Classes e Objetos.
Se um object é convertido para um object, ele não é
modificado. Se um valor de qualquer outro tipo é convertido para um
object, uma nova instância da classe interna stdClass
é criada. Se o valor for null
, a nova instância será vazia.
Um array é convertido para um object com as propriedades
nomeadas pelas chaves e os valores correspondentes, com exceção de chaves numéricas
que ficarão inacessíveis a menos que sejam iteradas.
Exemplo #2 Convertendo para um objeto
<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // exibe 'bool(true)'
// Descontinuado a partir do PHP 8.1
var_dump(key($obj)); // exibe 'string(1) "1"'
?>
Para qualquer outro valor, uma propriedade chamada
scalar
conterá o valor.
Exemplo #3 Conversão com (object)
<?php
$obj = (object) 'ciao';
echo $obj->scalar; // exibe 'ciao'
?>