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

Php 如何从数组数组中的stdClass对象访问变量?,php,arrays,associative-array,stdclass,Php,Arrays,Associative Array,Stdclass,我在我的数组$total上执行了打印,\r,它返回了以下内容: Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => stdClass Object ( [generated] => 6 [magnitude] => 3 [log_pk] => 14 [result] => 0.5000 ) ) Array ( ) Array ( ) 我需要能够从stdClass对象中打印出log\u pk。我尝试了pri

我在我的数组
$total
上执行了
打印,\r
,它返回了以下内容:

Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => stdClass Object ( 
[generated] => 6 [magnitude] => 3 [log_pk] => 14 [result] => 0.5000 ) )
Array ( ) Array ( )
我需要能够从
stdClass对象中打印出
log\u pk
。我尝试了
print$total[0]->log_pk
,但没有成功。错误是
未定义的偏移量:0
。感谢您的帮助。谢谢。

var\u dump()
显示一个或多个表达式的结构化信息,其中包括其类型和值。数组和对象使用缩进的值进行递归探索,以显示结构

var_dump($total)

您是否在循环中执行此操作?如果是这样,那么在大多数迭代中数组看起来都是空的。尝试:


if(!empty($total))打印$total[0]->log\u pk

看起来您的打印在一个循环中

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_函数()然后您可以执行打印($total[index])

因此这是一个循环,您应该首先检查索引0是否存在

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

开头的
Array()Array()Array()Array()Array..。
是什么?看起来数组在索引4处?@DaveChen看起来像是空数组上的连续打印。这个
$total
变量是MySQL查询的结果,每个查询都是MySQL查询的结果,每个数组都是
我假设表示一个特定的日期,因为查询基于过去7天。我也试过,
$total[4][0]['log\u pk]
,但没有运气。@PRPGFerret在这种情况下,他不会得到
未定义的偏移量:0
我试着从
$total
数组中得到一个特定的值,而不是转储整批?