我在显示对象属性方面遇到了问题。
通常您会使用以下方式调用它们:
$obj["name"]
但如果您不知道属性,例如" name"
,该怎么办?对于一个数组,你可以简单地调用$ arr [0],$ arr [1]等......
但如果我有这个对象(print_r
):
stdClass Object ( [id] => 1 [Name] => george [Number] => 437439742 [Email] => hds@gmail.com)
stdClass Object ( [id] => 2 [Name] => tom [Number] => 4343554643 [Email] => fdhk@gmail.com)
如何使用foreach显示所有值,例如:1,george,437 ......
- 不知道属性的名称 - > NOT $ o [" id"];
foreach($object as $o)
{
echo $o[i]; // doesn't work on objects
}
我尝试将其转换为数组,但它将是一个对象数组,所以我可以;获取内部信息。
//$array = array ($object);
答案 0 :(得分:0)
你有几个选择。一个是get_object_vars()
函数,另一个是将对象转换为数组。
foreach (get_object_vars($object) as $var => $val) {
// ...
}
或
foreach ((array) $object as $var => $val) {
// ...
}
答案 1 :(得分:0)
您可以使用:
$array = get_object_vars($obj);