要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
要把对象数组转换成普通数组,可以使用两种方法:强制类型转换和递归函数。
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的in_array低性能问题 2024-02-04
- php如何比较两个浮点数是否相等详解 2022-12-15
- 使用laravel根据用户类型来显示或隐藏字段 2023-03-03
- Laravel 将数据表的数据导出,并生成seeds种子文件的方法 2023-02-22
- PHP封装的page分页类定义与用法完整示例 2022-12-01
- PHP中字符串长度的截取用法示例 2024-02-02
- PHP实现数组的笛卡尔积运算示例 2022-10-02
- laravel高级的Join语法详解以及使用Join多个条件 2023-03-02
- php实现支付宝当面付(扫码支付)功能 2022-10-19
- PHP绕过open_basedir限制操作文件的方法 2022-10-27