我有这个小代码:
class A
{
private $val = 5;
}
$a = new A();
$obj = (array)$a;
echo '<pre>'; var_dump ($obj); echo '</pre>';
echo $obj['Aval']; // error!
Run Code Online (Sandbox Code Playgroud)
转储$ obj后,结果是:
array(1) {
["Aval"]=>
int(5)
}
Run Code Online (Sandbox Code Playgroud)
但是用$ obj ['Aval']访问这个值; 触发错误 - 这是不可能的!