PHP数组问题

转换为数组

对于任意 integer float string booleanresource 类型,如果将一个值转换为数组,将得到一个仅有一个元素的数组,其下标为 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 ());
 ?> 

 

posted @ 2014-12-25 23:58  选择了就坚持  阅读(140)  评论(0编辑  收藏  举报