转换为数组
对于任意 integer , float , string , boolean 和 resource 类型,如果将一个值转换为数组,将得到一个仅有一个元素的数组,其下标为 0,该元素即为此标量的值。换句话说,(array)$scalarValue 与 array($scalarValue) 完全一样。
如果一个 object 类型转换为 array ,则结果为一个数组,其单元为该对象的属性。键名将为成员变量名,不过有几点例外:整数属性不可访问;私有变量前会加上类名作前缀;保护变量前会加上一个 ‘*‘ 做前缀。这些前缀的前后都各有一个 NULL 字符。这会导致一些不可预知的行为:
<?php class A { private $E ; // This will become ‘\0A\0A‘ } class B extends A { private $A ; // This will become ‘\0B\0A‘ protected $C; public $AA ; // This will become ‘AA‘ } var_dump ((array) new B ()); ?>
时间: 2024-10-26 20:22:43