将对象数组转换为关联数组

时间:2014-02-06 09:45:08

标签: php arrays object

我需要转换下面的数组: -

Array
(
    [0] => stdClass Object
        (
            [id] => 
            [risk_reference] => 
            [risk_version] => 
            [bsi] => 10.00
        )

)

到下面的数组: -

Array
(
     [id] => 
     [risk_reference] => 
     [risk_version] => 
     [bsi] => 10.00

)

我尝试通过类型转换来实现。但它没有给我输出。 我还检查了this link

For Above $ result =(array)($ array [0])对我来说很好。

但如果我有以下内容,那我该怎么做?

Array
(
    [0] => stdClass Object
        (
            [id] => 
            [risk_reference] => 
            [risk_version] => 
            [bsi] => 10.00
        )
    [1] => stdClass Object
        (
            [id] => 
            [risk_reference] => 
            [risk_version] => 
            [bsi] => 20.00
        )

)

3 个答案:

答案 0 :(得分:1)

试试这个

$array = (array)($array[0]);

答案 1 :(得分:0)

试试这个

$yourArray = array();
$i=0;
foreach ($yourObject as $key => $value) {
    $yourArray[$i]['id'] = $value->id;
    $yourArray[$i]['risk_reference'] = $value->risk_reference;
    $yourArray[$i]['risk_version'] = $value->risk_version;
    $yourArray[$i]['bsi'] = $value->bsi;
    $i+=1;
}
print_r($yourArray);

答案 2 :(得分:0)

http://php.net/get_object_vars

根据范围获取给定对象的可访问非静态属性。

返回范围内指定对象的已定义对象可访问非静态属性的关联数组。如果尚未为属性分配值,则将返回NULL值。