<?php
print_r($response->response->docs);
?>
输出以下内容:
Array
(
[0] =>
(
[_fields:private] => Array
(
[id]=>9093
[name]=>zahir
)
(
[_fields:private] => Array
(
[id]=>9094
[name]=>hussain
)..
)
)
如何将此对象转换为数组?我想输出以下内容:
Array
(
[0]=>
(
[id]=>9093
[name]=>zahir
)
[1]=>
(
[id]=>9094
[name]=>hussain
)...
)
这可能吗?
实现方法一:Array
简单版本:
$array = new Array ($ );
$array = $array ->getArrayCopy();
更新的递归版本:
class RecursiveArray extends Array
{
function getArrayCopy()
{
$resultArray = parent::getArrayCopy();
foreach($resultArray as $key => $val) {
if (!is_ ($val)) {
continue;
}
$o = new RecursiveArray ($val);
$resultArray[$key] = $o->getArrayCopy();
}
return $resultArray;
}
}
$array = new RecursiveArray ($ );
$array = $array ->getArrayCopy();
实现方法二:
(1)一维数组
对于转换单维数组,你可以使用(array)或者使用get_ _vars
// Cast to an array
$array = (array) $ ;
// get_ _vars
$array = get_ _vars($ );
它们的工作方式略有不同。例如,get_ _vars除非从您传递的对象范围内(即在对象的成员函数中)调用,否则将返回仅具有可公开访问属性的数组。 (array)另一方面,当然,所有公共,私人和受保护的成员都会在阵列上完整地投射到一个数组,尽管现在全部公开。
(2)多维数组
一个有点脏的方法是使用PHP> = 5.2的本机JSON函数来编码为JSON,然后解码回数组。但是,这不包括私人和受保护的成员。
// The second parameter of json_decode forces parsing into an associative array
$array = json_decode(json_encode($ ), true);
或者,以下函数将从对象转换为包含私有成员和受保护成员的数组,从此处获取并修改为使用强制转换:
function ToArray ($ ) {
if(!is_ ($ ) && !is_array($ ))
return $ ;
return array_map(\' ToArray\', (array) $ );
} 继续阅读与本文标签相同的文章
上一篇 :
php通过IP获取访问来自哪个国家
下一篇 :
开发高质量软件需要更高成本吗?
-
反思人工智能——千万不要过度依赖Ai
2026-05-15栏目: 教程
-
Docker 宕机了,无法部署容器的程序员表示很愤怒
2026-05-15栏目: 教程
-
中国有关部门批准特斯拉将开始在上海工厂生产model 3
2026-05-15栏目: 教程
-
SCI投稿图表的准备要点
2026-05-15栏目: 教程
-
Web前端与HTML5技术的区别有哪些?
2026-05-15栏目: 教程
