PHP关联数组获取数组中的值

时间:2012-05-04 05:11:28

标签: php arrays object key

我使用图表api ...在facebook中获取用户组 http://developers.facebook.com/tools/explorer?method=GET&path=100000004811603%2Fgroups / user_groups权限和有效access_token

我使用google中找到的这个功能将其转换为数组:

 function objectToArray($d) {
        if (is_object($d)) {
        // Gets the properties of the given object
        // with get_object_vars function
        $d = get_object_vars($d);
    }

    if (is_array($d)) {
        /*
        * Return array converted to object
        * Using __FUNCTION__ (Magic constant)
        * for recursive call
        */
        return array_map(__FUNCTION__, $d);
    }
    else {
        // Return array
        return $d;
    }
}

现在我有了这个变量的结果

$groups = objectToArray($obj);

现在我要做的是提取id键的值并将其放在一个如下所示的数组中:

$new = array("group id 1","group id 2","group id 3","group id 4"); // and so on....

有人可以帮助我吗

2 个答案:

答案 0 :(得分:2)

试试这个:

$ids=array();
foreach ($obj->data as $group){
$ids[]=$group->id;
}

您可以看到我们正在获取json_decode()结果并迭代所有元素(组)并仅将id存储到数组$ids

答案 1 :(得分:2)

您无需将完整的$obj转换为数组。您可以使用->运算符访问其成员。因此,要收集id data $obj成员的所有$group_ids = array(); foreach ($obj->data as $group_data) { $group_ids[] = $group_data->id; } 成员,您必须执行以下操作:

{{1}}