在php函数中返回一个对象数组


Returning an array of objects in a php function

我有多行从数据库查询中返回。

我一次只能得到一行,但我想把这些行放在一个对象数组中,如下所示:

$trailheads[] = new StdClass;
Loop
{
   $trailheads[] = $trailhead; // Put each object into the array of objects 
}

但是,当我试图循环遍历每个数组时,我在提取每一行的值时遇到了问题。对返回的对象进行循环并获取值的正确方法是什么?

不起作用的代码非常基本:

$returned_obj->o->trailhead_name

但我实际上希望能够循环遍历每个数组元素。

也许可以尝试在for循环中转换为数组,这是未经测试的,可能无法正常工作,但应该会让你走上正轨:

foreach ($trailheads as (array) $key){
    // $key is now an array, recast to obj if you want  
    $objkey  = (object) $key;
}

我假设您使用mysql,因为您没有说。。。

可以使用thsi函数mysql_fetch_object()

<?php
$trailheads = array()
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result, 'trailhead')) {
    $trailheads[] = $row;
}