2012-04-01 68 views
0

我对象的原始输出是当我做了print_r是:如何解析此PHP stdClass对象?

Array ([0] => stdClass Object ([COUNT(*)] => 3)) 

我怎么到3

这个对象是一个SQL查询的结果与$wpdb类内部WordPress的。

我在PHP对象小白。也想知道

  • 我在哪里学会做对象解析这样的东西?
  • 什么样的对象,这是?它为什么包裹在一个数组中?

更新:这里的源代码:

global $wpdb; 
$post_count = $wpdb->get_results("SELECT COUNT(*) FROM $wpdb->posts"); 
print_r($post_count); 
+3

在查询中使用别名会更有意义:'SELECT count(*)AS total FROM ....' – 2012-04-01 09:53:10

+0

这就是我在下面做的。回答我自己的问题。 – 2012-04-01 09:54:52

回答

3

这不是一个对象。它是一个包含对象的数组。在该特定例子,假设变量命名为$variable,你可以这样做:

echo $variable[0]->{'COUNT(*)'}; 
+1

P.S.我不想用这样的数据工作,但是其他人认为它看起来有点漂亮吗? :) – MichaelRushton 2012-04-01 09:56:14

+0

这是一种通常由sql查询返回的结构吗? – 2012-04-01 09:56:15

+0

我不使用WordPress的,所以我不知道它是如何拿出结果集。 – MichaelRushton 2012-04-01 09:57:06

1

我找到了解决办法:

global $wpdb; 
$post_count = $wpdb->get_results("SELECT COUNT(*) as postcount FROM $wpdb->posts"); 
print_r($post_count[0]->postcount); 

我需要使用的别名。