我有点困惑。
我有一个数组:
<?php
$terms = get_the_terms($post->ID, 'pf');
print_r($terms);
?>
它输出:
数组([15] =&gt; stdClass对象( [term_id] =&gt; 15 [name] =&gt;文字[slug] =&GT; text [term_group] =&gt; 0 [term_taxonomy_id] =&gt; 33 [分类学] =&gt; pf [描述] =&gt; PF文章。 [parent] =&gt; 0 [count] =&gt; 3 [object_id] =&GT; 694))
我只想输出slug(本例中为“text”)而不是整个数组。
所以我在做:
<?php $terms = get_the_terms($post->ID, 'pf');
echo $terms["slug"]; ?>
它什么也没输出。
这也没有结果:
echo "{$terms['slug']}";
有什么想法吗?
已更新!
我不能使用$ term [15] - &gt; slug,因为我的脚本将基于[分类法](在这种情况下为pf)! :)所以没有foreach循环就不可能做到这一点?
答案 0 :(得分:5)
术语数组15索引包含像这样的对象访问
echo $term[15]->slug
答案 1 :(得分:3)
在arry内部的索引15处有stdclass对象,可以通过强制转换/访问数组但是尝试这个insted
$term[15]->slug
答案 2 :(得分:-1)
跟进Pekka的回答,如果你重新格式化你的print_r()输出,你会得到:
Array (
[15] => stdClass Object (
[term_id] => 15
[name] => Text
[slug] => text
[term_group] => 0
[term_taxonomy_id] => 33
[taxonomy] => pf
[description] => An PF article.
[parent] => 0
[count] => 3
[object_id] => 694
)
)
当使用print_r()转储变量时,最好使用<pre>
标记来包围调用 - print_r不会对数据进行任何HTML处理,因此它对数组进行了很好的缩进在HTML页面中查看时丢失。使用<pre>
标记可保留格式。使用var_dump()
将执行相同操作,但也将类型/大小数据添加到转储输出。