PHP强制转换中(array)和(object)妙用,关联数组与对象快速转换【转】

(array)

class   Pre1
{
    private  $name = ‘aaa‘ ;
    private $age = 100;
}
 
class  Pre2  extends Pre1
{
    private  $name= ‘bbb‘ ;
    public  $age= 111;
}
var_dump ((array) new  Pre2 ());

得到结果

array(4) {
    ["Pre2name"]=> string(3) "bbb"
    ["age"]=> int(111)
    ["Pre1name"]=> string(3) "aaa"
    ["Pre1age"]=> int(100)
}

private 的属性会变成类名+属性名转换成数组的键名,其值为属性的值

(object)

$arr = [‘aa‘=>‘aaa‘, ‘bb‘=>‘bbbb‘, ‘cc‘=>‘ccc‘];
$obj = (object) $arr;
echo $obj->bb;

注意点:数组最好为关联数组,转换成对象后就是属性与属性值的关系
?
原文链接:https://blog.csdn.net/qq_28137309/article/details/81415367