对于整型、浮点、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 (
'' . "