要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
1. 强制类型转换
使用强制类型转换可以将对象数组转换为普通数组,示例代码如下:
$obj = new stdClass();
$obj->name = '小明';
$objArray = [$obj, $obj, $obj];
echo '<pre>';
print_r((array) $objArray);
输出结果如下:
Array
(
[0] => stdClass Object
(
[name] => 小明
)
[1] => stdClass Object
(
[name] => 小明
)
[2] => stdClass Object
(
[name] => 小明
)
)
在强制类型转换时,对象数组的每个元素都会被转换为其内部属性的键值对。
2. 递归函数
使用递归函数可以将对象数组转换为普通数组,示例代码如下:
function objectToArray($objArray) {
$result = array();
foreach ($objArray as $key => $value) {
if (is_object($value)) {
$result[$key] = objectToArray((array) $value);
} elseif (is_array($value)) {
$result[$key] = objectToArray($value);
} else {
$result[$key] = $value;
}
}
return $result;
}
$obj = new stdClass();
$obj->name = '小明';
$objArray = [$obj, $obj, $obj];
echo '<pre>';
print_r(objectToArray($objArray));
输出结果如下:
Array
(
[0] => Array
(
[name] => 小明
)
[1] => Array
(
[name] => 小明
)
[2] => Array
(
[name] => 小明
)
)
此方法中,我们定义了一个 objectToArray
函数,在循环对象数组时,判断元素的类型,若为对象则递归调用自身进行转换,若为数组则继续循环,否则直接赋值给结果数组。
以上是将对象数组转换为普通数组的两种方法。
织梦狗教程
本文标题为:PHP中把对象数组转换成普通数组的方法


基础教程推荐
猜你喜欢
- 解析php二分法查找数组是否包含某一元素 2024-01-04
- 详解Nginx 和 PHP 的两种部署方式的对比 2023-12-10
- Laravel5.1 框架数据库查询构建器用法实例详解 2023-03-18
- php在字符串中查找另一个字符串 2024-01-04
- 实例介绍PHP中zip_open()函数用法 2022-12-22
- PHP生成图表pChart的示例解析 2023-04-24
- PHP实现的杨辉三角求解算法分析 2022-12-30
- php面向对象基础详解【星际争霸游戏案例】 2023-03-19
- php屏蔽错误及提示的方法 2023-04-18
- thinkphp5 模型实例化获得数据对象的教程 2023-03-02