要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
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-06-26
- PHP判断一个字符串是否是回文字符串的方法 2024-01-31
- PHP+MySQL+sphinx+scws实现全文检索功能详解 2023-01-31
- 设定php简写功能的方法 2023-03-17
- Yii框架连表查询操作示例 2023-02-13
- php实现数组筛选奇数和偶数示例 2024-02-05
- php数组函数序列之array_sum() – 计算数组元素值之和 2024-01-15
- php实现构建排除当前元素的乘积数组方法 2022-11-23
- PHP实现文件下载【实例分享】 2024-04-27
- PHP手机短信验证码实现流程详解 2022-10-18
