我得到如下结果。
stdClass Object
(
[Test_Result] => stdClass Object
(
[Test] => Array
(
[0] => stdClass Object
(
[name] => test1
)
[1] => stdClass Object
(
[name] => test2
)
[2] => stdClass Object
(
[name] => test3
)
[3] => stdClass Object
(
[name] => test4
)
[4] => stdClass Object
(
[name] => test5
)
)
)
)
我正在尝试检索名称并将其添加为选择标记的选项值。
我希望像下面
<select id="names" name="names" class="required-entry select">
<option value="" selected="selected">Please select...</option>
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
<option value="test4">test4</option>
<option value="test5">test5</option>
</select>
如何在PHP中做到这一点?请有人建议我,如何从上述结果中检索每个值?
答案 0 :(得分:2)
$ object-> Test_Result-> Test是仅具有name属性的对象数组。如果只需要name属性,请在该数组上运行一个映射,以将该数组仅转换为name。
$names = array_map(function($item) {
return $item->name;
}, $object->Test_Result->Test);
在array_map上了解更多。
答案 1 :(得分:0)
如果您的对象是$obj
,则可以这样操作:
echo '<select id="names" name="names" class="required-entry select">';
echo '<option value="" selected="selected">Please select...</option>';
foreach($obj->Test_Result->Test as $key => $value){
echo '<option value="'.$value->name.'">'.$value->name.'</option>';
}
echo '</select>';