gpt4 book ai didi

php - 对所有对象属性进行 foreach

转载 作者:行者123 更新时间:2023-12-05 00:05:48 26 4
gpt4 key购买 nike

如何从该类内部或外部对一个类的所有字段执行 foreach?例如,给定以下类:

class Foo
{
public $a;
public $b;
private $c;
private $d;

public function __construct($params)
{
foreach($params as $k=>$v){
$this->$k = $v;
}
}

public function showAll()
{
$output = array();
foreach (this as $k=>$v) { // How to refer to all the class properties?
$output[$k] = $v;
}
return $output;
}

}
foreach() 怎么可能?在 showAll()方法引用 $a , $b , $c , 和 $d特性?

就此而言,可以从类外获取所有公共(public)属性吗?
$params = array();
$foo = new Foo($params);

foreach ($foo->allProperties as $f=>$v) { // how to do this?
echo "{$f}: {$v}\n";
}

最佳答案

自 PHP4 起,您可以使用 get_object_vars 迭代对象的公共(public)属性。

foreach (get_object_vars($foo) as $f => $v) {
echo "{$f}: {$v}\n";
}

自 PHP5 起 you can直接遍历对象:
foreach ($foo as $f => $v) {
echo "{$f}: {$v}\n";
}

关于php - 对所有对象属性进行 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15700325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com