要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
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中把对象数组转换成普通数组的方法
基础教程推荐
猜你喜欢
- Yii2.0框架实现带分页的多条件搜索功能示例 2022-12-28
- php设计模式之观察者模式实例详解【星际争霸游戏案例】 2023-04-07
- PHP自动加载机制实例详解 2022-11-07
- PHP 将数组打乱 shuffle函数的用法及简单实例 2023-12-18
- PHP的介绍以及优势详细分析 2023-02-05
- 总结PHP内存释放以及垃圾回收 2022-10-12
- PHP回调函数与匿名函数实例详解 2023-12-19
- php实现姓名根据首字母排序的类与方法(实例代码) 2022-10-18
- PHP创建自己的Composer包方法 2022-10-12
- php链式操作mysql数据库(封装类带使用示例) 2023-07-11
