从数组中检索PHP值;数组从2开始


Retrieving PHP value from array; array is starting at 2?

可能重复:
混合阵列和对象

我使用print_r来查看数组中包含的内容:

Array ( 
    [2] => stdClass Object ( 
        [id] => 2 
        [category] => 1 
        [sortorder] => 10001 
        [shortname] => 2323 
        [fullname] => asdaSDa 
        [startdate] => 1343188800 
        [visible] => 1 
        [groupmode] => 0 
        [groupmodeforce] => 0 
        [numsections] => 10 
        [role] => student 
        [rolename] => Student 
    ) 
)

我想检索[id]的值。如何使用PHP实现这一点?

我尝试了以下操作,但收到来自服务器的异常500:

echo "<h1>CODIGO: ".$courses[2]["id"]."</h1>";

有什么建议吗?

您所拥有的是一个对象数组,因此无法使用括号访问id。相反,您需要使用->直接获取对象属性:

echo $array[2]->id;

如果密钥发生变化(但元素是第一个),请使用array_shift():

$first = array_shift( $array);
echo $first->id;

类似地,如果元素是数组中的最后一个,则使用array_pop()