更改stdClass :: __ set_state(array(

时间:2014-11-28 13:47:34

标签: php arrays

我有以下返回的数组( var_export() 的结果)

array (
  0 => 
  stdClass::__set_state(array(
     'term_id' => 145,
     'name' => 'testing',
     'slug' => 'testing',
     'term_group' => 0,
     'term_taxonomy_id' => 145,
     'taxonomy' => 'post_tag',
     'description' => '',
     'parent' => 0,
     'count' => 2,
     'filter' => 'raw',
  )),
)

我需要将$output[0]->count的值更改为新值。我可以使用unset($output[0]->count)成功取消设置键/值对,但我似乎无法设置新的键/值对。

我尝试过使用

$count['count'] = count( $list_term );
$result = array_merge_recursive($output, $count);

然后我得到以下输出

array (
  0 => 
  stdClass::__set_state(array(
     'term_id' => 145,
     'name' => 'testing',
     'slug' => 'testing',
     'term_group' => 0,
     'term_taxonomy_id' => 145,
     'taxonomy' => 'post_tag',
     'description' => '',
     'parent' => 0,
     'filter' => 'raw',
  )),
  'count' => 5,
)

如果我尝试

$result = array_merge_recursive($output[0], $count);

我收到以下错误

  

警告错误:[2] array_merge_recursive():参数#1不是数组

有关如何解决此问题的任何建议

1 个答案:

答案 0 :(得分:1)

将对象转换为数组

$result = array_merge_recursive((array)$output[0], $count);