首页 > 代码库 > PHP数组问题

PHP数组问题

转换为数组

对于任意 integer , float , string , boolean 和 resource 类型,如果将一个值转换为数组,将得到一个仅有一个元素的数组,其下标为 0,该元素即为此标量的值。换句话说,(array)$scalarValuearray($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 ()); ?> 

 技术分享

PHP数组问题