对于整型、浮点、string、bool和资源类型,如果将值转换为数组,则会得到一个数组,其中只包含一个元素,下标为0,元素为该标量的值。也就是说,(array)$scalarValue与array($scalarValue)完全相同。
如果将对象传送到数组中,则结果将是单元格为对象属性的数组。关键字名称是成员变量名称,但有几个例外:不能访问整数属性;私有变量具有类名前缀;保护变量带有前缀“*”。这些前缀的前后是NUL字节。未初始化类型的属性将被丢弃。
<?php
class A {
private $B;
protected $C;
public $D;
function __construct()
{
$this->{1} = null;
}
}
var_export((array) new A());
?>输出以上例程:
array (
'' . "