PHP - 从对象获取所有值而不知道属性

时间:2015-12-01 00:46:14

标签: php arrays object

我在显示对象属性方面遇到了问题。

通常您会使用以下方式调用它们:

$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);

2 个答案:

答案 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);