如何访问 php 中的标准类的值

how can I access the value of a stdclass in php

我想访问下图中的int20和int30。我该怎么做?

这是我的 var_dump 结果:

array (size=2)
  0 => 
    array (size=1)
      0 => 
        object(stdClass)[238]
          public 'time' => int 20
  1 => 
    array (size=1)
      0 => 
        object(stdClass)[242]
          public 'time' => int 30

这是我的查询:

$sum_time = array();
foreach ($a as $f) {
    $sum_time[] = DB::select("select time from quiz where '$f'=id");
}        
var_dump($sum_time);

将此添加到您的代码中以获得所有 "time" 值的数组

$times = array();
foreach ($sum_time as $value) {
    $times[] = $value[0]->time;
}

您可以使用 ->object 到 stdClass。 例如

$v = new StdClass();
$v->name = "Mohsen";
$v->addr = "somewhere";

$tmp = array("data" => "other data","detail" => $v);
var_dump($tmp);

echo "<br /><br />";
echo $tmp["detail"]->name; // Access your stdClass object
    $sum_time = array();
    $time = array();
    $count=0;
    foreach ($a as $f) {
        $sum_time[] = DB::select("select time from quiz where '$f'=id");
        $time[]=$sum_time[$count]->time;
        $count++;
    }   
print_r($time)     
    var_dump($sum_time);

虽然这是个老问题,但看起来很典型XY problem

如果我们假设问题是 如何检索 time 属性?,答案是:

对于数组,您使用 [] 运算符:

$arr = array(
    'time' => 20
);

var_dump($arr['time']);
/* 
will return:
  int(20)
*/

对于对象,您使用 -> 运算符:

// Can be achieved aso with "new stdClass()";
$myObj = (object) array(
    'time' => 20
);

var_dump($myObj);
/*
Will return:
  object(stdClass)#3 (1) {
    ["time"]=>
    int(20)
  }
*/

var_dump($myObj->time);
/* 
will return:
  int(20)
*/

无论如何,对于以后的案例,提供一些背景知识很重要,实际问题的解决方案可能甚至不包括这个问题....