“不能使用 stdClass 类型的对象作为数组”使用 Wordpress

2022-08-30 16:28:17

我正在尝试检索wordpress帖子中标签的slug,现在可以使用以下命令获取所有标签信息

$tag = wp_get_post_tags($post->ID);

有关此内容的更多信息,请访问Wordpress Docs

通过使用这个,你应该得到这样的数据返回...

Array
(
   [0] => stdClass Object
       (
           [term_id] => 4
           [name] => tag2
           [slug] => tag2
           [term_group] => 0
           [term_taxonomy_id] => 4
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 7
       )

   [1] => stdClass Object
       (
           [term_id] => 7
           [name] => tag5
           [slug] => tag5
           [term_group] => 0
           [term_taxonomy_id] => 7
           [taxonomy] => post_tag
           [description] => 
           [parent] => 0
           [count] => 6
       )

)

现在我想要的是第一项的鼻涕虫,它应该如下所示

$tag[0]['slug']

但是,通过这样做,我收到这个php错误:

不能将 stdClass 类型的对象用作数组

有人能告诉我我在这里做错了什么吗?以及获取数据的最佳方式是什么


答案 1

请注意,该数组包含对象(的实例),而不是其他数组。所以语法是:stdClass

$tag[0]->slug

答案 2

另一种选择应该是将$tag[0]显式转换为数组:

$t = (array)$tag[0];
$t["slug"] = ...

虽然无法让它工作