在PHP中,如果你有一个对象数组(即一个包含多个对象的数组),并且你想将其转换为一个普通的数组(即一个包含多个关联数组的数组),你可以使用json_decode
和json_encode
函数,或者使用get_object_vars
函数来手动转换。
以下是几种常见的方法:
json_encode
和json_decode
$objectsArray = [
(object)['name' => 'Alice', 'age' => 25],
(object)['name' => 'Bob', 'age' => 30]
];
// 将对象数组转换为JSON字符串
$jsonString = json_encode($objectsArray);
// 将JSON字符串解码为关联数组
$array = json_decode($jsonString, true);
print_r($array);
get_object_vars
手动转换$objectsArray = [
(object)['name' => 'Alice', 'age' => 25],
(object)['name' => 'Bob', 'age' => 30]
];
$array = array_map(function($object) {
return get_object_vars($object);
}, $objectsArray);
print_r($array);
array_map
和get_object_vars
结合$objectsArray = [
(object)['name' => 'Alice', 'age' => 25],
(object)['name' => 'Bob', 'age' => 30]
];
$array = array_map('get_object_vars', $objectsArray);
print_r($array);
无论使用哪种方法,输出结果都会是:
Array
(
[0] => Array
(
[name] => Alice
[age] => 25
)
[1] => Array
(
[name] => Bob
[age] => 30
)
)
json_encode
和json_decode
是最简单的方式,但可能会稍微慢一些,因为它涉及到JSON的编码和解码。get_object_vars
手动转换,通常更快,但需要更多的代码。根据你的需求和性能要求,你可以选择适合的方法。