Mor*_*hai 14 php arrays json stdclass
我有一个像这样的对象:
stdClass Object
(
[_count] => 10
[_start] => 0
[_total] => 37
[values] => Array
(
[0] => stdClass Object
(
[_key] => 50180
[group] => stdClass Object
(
[id] => 50180
[name] => CriticalChain
)
)
[1] => stdClass Object
(
[_key] => 2357895
[group] => stdClass Object
(
[id] => 2357895
[name] => Data Modeling
)
)
[2] => stdClass Object
(
[_key] => 1992105
[group] => stdClass Object
(
[id] => 1992105
[name] => SQL Server Users in Israel
)
)
[3] => stdClass Object
(
[_key] => 37988
[group] => stdClass Object
(
[id] => 37988
[name] => CDO/CIO/CTO Leadership Council
)
)
[4] => stdClass Object
(
[_key] => 4024801
[group] => stdClass Object
(
[id] => 4024801
[name] => BiT-HR, BI & IT Placement Agency
)
)
[5] => stdClass Object
(
[_key] => 37845
[group] => stdClass Object
(
[id] => 37845
[name] => Israel Technology Group
)
)
[6] => stdClass Object
(
[_key] => 51464
[group] => stdClass Object
(
[id] => 51464
[name] => Israel DBA's
)
)
[7] => stdClass Object
(
[_key] => 66097
[group] => stdClass Object
(
[id] => 66097
[name] => SQLDBA
)
)
[8] => stdClass Object
(
[_key] => 4462353
[group] => stdClass Object
(
[id] => 4462353
[name] => Israel High-Tech Group
)
)
[9] => stdClass Object
(
[_key] => 4203807
[group] => stdClass Object
(
[id] => 4203807
[name] => Microsoft Team Foundation Server
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
我需要在HTML表中获取id和name,但我似乎很难迭代这个对象.TIA.我知道我需要到数组数组,然后到组对象,但我会跳过对象和数组之间的转换以及foreach与基于索引的迭代.
例如我试过这个:
foreach ($res as $values) { print "\n"; print_r ($values); }
Run Code Online (Sandbox Code Playgroud)
它通过对象迭代,但它也让我无用
10 0 37
Run Code Online (Sandbox Code Playgroud)
ade*_*neo 24
echo "<table>"
foreach ($object->values as $arr) {
foreach ($arr as $obj) {
$id = $obj->group->id;
$name = $obj->group->name;
$html = "<tr>";
$html .= "<td>Name : $name</td>";
$html .= "<td>Id : $id</td>";
$html .= "</tr>";
}
}
echo "</table>";
Run Code Online (Sandbox Code Playgroud)
由于这是谷歌搜索的最高结果,iterate over stdclass因此回答标题中的问题可能会有所帮助:
您可以简单地使用 foreach 迭代 stdclass:
$user = new \stdClass();
$user->flag = 'red';
foreach ($user as $key => $value) {
// $key is `flag`
// $value is `red`
}
Run Code Online (Sandbox Code Playgroud)
小智 5
function objectToArray( $data )
{
if ( is_object( $data ) )
$d = get_object_vars( $data );
}
Run Code Online (Sandbox Code Playgroud)
首先将对象转换为数组,如:
$results = objectToArray( $results );
Run Code Online (Sandbox Code Playgroud)
并使用
foreach( $results as result ){... ...}
Run Code Online (Sandbox Code Playgroud)