如何访问 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)
*/
无论如何,对于以后的案例,提供一些背景知识很重要,实际问题的解决方案可能甚至不包括这个问题....
我想访问下图中的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)
*/
无论如何,对于以后的案例,提供一些背景知识很重要,实际问题的解决方案可能甚至不包括这个问题....