Php 将对象转换为一组变量
您将如何进行转换:Php 将对象转换为一组变量,php,variables,Php,Variables,您将如何进行转换: $Object->one; $Object->two; 致: 将其强制转换为数组,然后extract()it 记住alcuadrado关于封装的评论;强调这一点的是,extract()将只对公共实例变量起作用(我更新了示例代码来说明这一点) 输出: Notice: Undefined variable: third in... int(1) int(2) NULL 将其强制转换为数组,然后extract()it 记住alcuadrado关于封装的评论;强调这一
$Object->one;
$Object->two;
致:
将其强制转换为数组,然后
extract()
it
记住alcuadrado关于封装的评论;强调这一点的是,extract()
将只对公共实例变量起作用(我更新了示例代码来说明这一点)
输出:
Notice: Undefined variable: third in...
int(1)
int(2)
NULL
将其强制转换为数组,然后
extract()
it
记住alcuadrado关于封装的评论;强调这一点的是,extract()
将只对公共实例变量起作用(我更新了示例代码来说明这一点)
输出:
Notice: Undefined variable: third in...
int(1)
int(2)
NULL
如果在对象上使用foreach循环,它将迭代可见属性,而不公开私有成员
foreach ($object as $key => $value){
$$key = $value;
}
如果在对象上使用foreach循环,它将迭代可见属性,而不公开私有成员
foreach ($object as $key => $value){
$$key = $value;
}
尝试:extract(获取对象变量($object))代码>
这只会得到公共变量。如果您想要private,那么您需要从对象本身内部调用它。尝试:extract(get_object\u vars($object))代码>
这只会得到公共变量。如果您想要private,那么您需要从对象本身内部调用它。请考虑您可能违反了对象的封装(不应暴露其成员)@alcuadrado:这是一个很好的注意事项。我会记住这一点。如果它们是公开的,那么它们已经被曝光了。从而导致你做这种奇怪的事情。:)考虑到你可能违反了对象的封装(不应该暴露它的成员)@ AlCuADADO:这是一个很好的注释。我会记住这一点。如果它们是公开的,那么它们已经被曝光了。从而导致你做这种奇怪的事情。:)