如何从数组数组中的stdClass对象访问变量?

时间:2013-08-10 02:32:24

标签: php arrays associative-array stdclass

我在我的数组print_r上做了$total,它返回了以下内容:

Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => stdClass Object ( 
[generated] => 6 [magnitude] => 3 [log_pk] => 14 [result] => 0.5000 ) )
Array ( ) Array ( )

我需要能够在log_pk内打印stdClass Object。我试过print $total[0]->log_pk但是没有成功。错误是Undefined offset: 0。任何帮助表示赞赏。感谢。

4 个答案:

答案 0 :(得分:1)

你是在循环中做这个吗?如果是这样,那么在大多数迭代中,数组看起来都是空的。尝试:

if (!empty($total)) print $total[0]->log_pk;

答案 1 :(得分:1)

所以这是一个循环,你应该先检查索引0是否存在。

if (isset($total[0])) echo $total[0]->log_pk

答案 2 :(得分:0)

var_dump()显示有关包含其类型和值的一个或多个表达式的结构化信息。递归地探索数组和对象,并使用缩进的值来显示结构。

var_dump($total)

PHP: var_dump - Manual

答案 3 :(得分:0)

看起来你的print_r在循环中。

while(true){
    $total = some_function();
    print_r($total);
    if($condition) break;
}
// Here - outside the loop, is not the right place for the print_r();

如果您希望在循环外打印,可以将$total = some_function();更改为$total[] = some_function();,然后执行print_r($total[index])