【发布时间】:2016-10-11 01:28:06
【问题描述】:
实际上我无法将 php 对象转换为数组,特别是当我有其他访问说明符时。 例如:
<?php
class Foo
{
public $bar = 'barValue';
protected $baz = 'bazValue';
private $tab = 'tabValue';
}
$foo = new Foo();
$arrayFoo = (array) $foo;
echo "<pre>";
var_dump($arrayFoo);
输出是:
array(3) {
["bar"]=>
string(8) "barValue"
["*baz"]=>
string(8) "bazValue"
["Footab"]=>
string(8) "tabValue"
}
所以我无法获取带有名称的密钥,它会自动添加 *(用于受保护)和类名(用于私有),
【问题讨论】:
-
因为你已经定义了变量 protected 和 private 这就是为什么它给出 * ,脚在数组索引中......
-
这是一个特性,而不是一个错误