将数组中的所有对象转换为数组


Convert all Objects in Array to Array

我有一些值,它们从API中获取并存储到数组$data中,以便插入到我的表中。然而,我似乎在数组$data中有对象,这看起来有点混乱。是否可以将数组$data的所有内容转换为数组元素?

PHP代码

$data['title'] = $item->ItemAttributes->Title;
$data['brand'] = $item->ItemAttributes->Brand;
$data['color'] = $item->ItemAttributes->Color;
echo "<pre>";
print_r($data);

输出

stdClass Object
(
    [title] => stdClass Object
        (
            [0] => La Martina Polo Shirt Scotland Polo, Color: Black, Size: L
        )
    [brand] => stdClass Object
        (
            [0] => La Martina
        )
    [color] => stdClass Object
        (
            [0] => Black
        )
)
array get_object_vars ( object $object )

了解更多信息:http://php.net/manual/en/function.get-object-vars.php

$array = get_object_vars($object);

如果成员是受保护的或私有的,请从类内部执行。

如果您不打算定义一个特定的类,请使用反射。

我没有正确理解你,但如果你做了这样的

$data['title'] =(string)$item->ItemAttributes->Title;
$data['brand'] =(string)$item->ItemAttributes->Brand;
$data['color'] = (string)$item->ItemAttributes->Color;

可能会让你找到下面这样的东西:-

{'title'=>'some title','brand'=>,'color'=>'something'}

但我不确定这是否是你想要的