我在显示对象属性时遇到问题。
通常你会用给他们打电话
$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);