要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
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 多进程与信号中断实现多任务常驻内存管理实例方法 2023-02-22
- php实现文章评论系统 2022-12-20
- Yii 框架使用Forms操作详解 2023-04-19
- php如何利用pecl安装mongodb扩展详解 2022-12-04
- PHP+MySQL实现对一段时间内每天数据统计优化操作实例 2022-10-09
- php中array_slice和array_splice函数解析 2023-12-30
- php之深入理解架构布局讲解 2022-09-02
- 实现PHP中session存储及删除变量 2022-11-23
- PHP常用的文件操作函数总结 2023-07-03
- PHP与Perl之间知识点区别整理 2022-12-30