将数组中的数组和对象转换为纯数组

Tho*_*son 20 php arrays

我的数组如下:

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => demo1
        )
    [1] => stdClass Object
        (
            [id] => 2
            [name] => demo2
        )
    [2] => stdClass Object
        (
            [id] => 6
            [name] => otherdemo
        )
)
Run Code Online (Sandbox Code Playgroud)

如何将整个数组(包括对象)转换为纯多维数组?

Ibr*_*mar 28

你试过类型转换吗?

$array = (array) $object;
Run Code Online (Sandbox Code Playgroud)

实际上还有另一种技巧

$json  = json_encode($object);
$array = json_decode($json, true);
Run Code Online (Sandbox Code Playgroud)

json_encodePHP手册,第二个参数被称为assoc命令:

ASSOC

何时TRUE,返回的对象将被转换为关联数组.

这正是您正在寻找的.

您也可以尝试这样做:使用PHP将对象转换为数组(phpro.org)

  • `$array = (array) $object;` 不适用于内部子元素 (7认同)

小智 8

只需使用这个:

json_decode(json_encode($yourArray), true);
Run Code Online (Sandbox Code Playgroud)


Bab*_*aba 5

您可以使用array_walk将每个项目从对象转换为数组:

function convert(&$item , $key)
{
   $item = (array) $item ;
}

array_walk($array, 'convert');
Run Code Online (Sandbox Code Playgroud)