Объекты
Вернуться к: Типы
Инициализация объекта
Для создания нового объекта, используйте выражение new, создающее в переменной экземпляр класса:
<?php
class foo
{
function do_foo()
{
echo "Doing foo.";
}
}
$bar = new foo;
$bar->do_foo();
?>
Полное рассмотрение производится в разделе Классы и Объекты.
Преобразование в объект
Если object преобразуется в object, он не изменяется.
Если значение другого типа преобразуется в
object, создается новый экземпляр встроенного класса stdClass.
Если значение было NULL
, новый экземпляр будет пустым.
Массивы преобразуются в object с именами полей, названными согласно ключам
массива и соответствующими им значениям, за исключением числовых ключей, которые не будут
доступны пока не проитерировать объект.
<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
var_dump(key($obj)); // outputs 'int(1)'
?>
При преобразовании любого другого значения, оно будет помещено в поле с именем соответствующему типу scalar.
<?php
$obj = (object) 'ciao';
echo $obj->scalar; // выведет 'ciao'
?>
Вернуться к: Типы