如何循环遍历对象的所有属性?现在我必须编写一个新的代码行来打印对象的每个属性
echo $obj->name;
echo $obj->age;
Run Code Online (Sandbox Code Playgroud)
我可以使用foreach循环或任何循环遍历对象的所有属性吗?
像这样的东西
foreach ($obj as $property => $value)
Run Code Online (Sandbox Code Playgroud)
Dav*_*ess 126
如果这只是用于调试输出,您可以使用以下内容来查看所有类型和值.
var_dump($obj);
Run Code Online (Sandbox Code Playgroud)
如果您想要更多地控制输出,可以使用:
foreach ($obj as $key => $value) {
echo "$key => $value\n";
}
Run Code Online (Sandbox Code Playgroud)
在运行$obj循环之前,如果您要查找属性而不考虑可见性,则foreach必须将其转换为 an array(请参阅:强制转换为数组)。
HTML 输出示例 (PHP 8.1):
foreach ((array)$obj as $key => $val) {
printf(
"%s: %s<br>\n",
htmlspecialchars("$key"),
htmlspecialchars("$val"),
);
}
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我使用以下内容:
//return assoc array when called from outside the class it will only contain public properties and values
var_dump(get_object_vars($obj));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82551 次 |
| 最近记录: |