轻松将 PHP 对象转换为关联数组
与利用面向对象结构的 API 集成时,有必要转换这些对象到关联数组中以与现有代码兼容。下面是在 PHP 中实现此转换的简单有效的方法:
解决方案:类型转换
只需将对象类型转换为数组即可将其转换为关联数组,其键为关联数组是对象的属性名称。
$array = (array) $yourObject;
此类型转换不执行深度转换,因此如果该对象包含嵌套对象,它们不会被转换为数组。但是,它适用于具有公共属性的对象或简单的 StdClass 对象。
复杂对象和属性可访问性
对于更复杂的对象,类型转换可能不会给您想要的结果。 PHP 对于访问类型化数组中的非公共属性有特定的规则:
示例:
class Foo { private $foo; protected $bar; public $baz; } var_dump((array) new Foo());
输出:
array(3) { ["Foofoo"] => int(1) ["*bar"] => int(2) ["baz"] => StdClass Object ( ... ) }
深度铸造和其他资源
如果您需要对象图的深度转换或者需要更多了解此转换技术,请考虑参考以下资源:
以上是如何轻松地将 PHP 对象转换为关联数组?的详细内容。更多信息请关注PHP中文网其他相关文章!