首页 > 解决方案 > 在取消设置php中的几个键后重新索引对象内的数组

问题描述

所以这里我们有一个数组函数array_values,但如果在同一个数组上执行它就可以工作。在这里我有一个对象,在那个 objst 里面我有一组数组,并且在很少的条件下我必须取消设置一些键并重新索引数组。

stdClass Object
(
    [details] => stdClass Object
    (
        [first] => 159
        [events] => Array
        (
           [0] => stdClass Object
           (
               [id]=>1,
               [name]=>abc
           )
           [1] => stdClass Object
           (
               [id]=>2,
               [name]=>abc
           ) 
           [2] => stdClass Object
           (
               [id]=>3,
               [name]=>abc
           )
       )
   )
)

现在,如果我取消设置 1 键并执行json_encode并在执行打印时执行json_decode,则它变为

stdClass Object
(
    [details] => stdClass Object
    (
        [first] => 159
        [events] => stdClass Object
        (
           [0] => stdClass Object
           (
               [id]=>1,
               [name]=>abc
           )
           
           [2] => stdClass Object
           (
               [id]=>3,
               [name]=>abc
           )
       )
   )
)

事件节点成为对象,我不想将它从数组更改为对象。我的结果必须与重新索引密钥完全相同。

标签: phparraysobject

解决方案


用于array_values()重新索引数组。

$object->events = array_values($object->events);

推荐阅读