PHP-在不知道属性的情况下从对象中获取所有值


PHP - Get All values from object without knowing properties

我在显示对象属性时遇到问题。

通常你会用给他们打电话

$obj["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);

您有几个选项。一个是get_object_vars()函数,另一个是将对象强制转换为数组。

foreach (get_object_vars($object) as $var => $val) {
    // ...
}

foreach ((array) $object as $var => $val) {
    // ...
}

您可以使用:

$array = get_object_vars($obj);