【发布时间】:2021-10-08 13:45:45
【问题描述】:
也许是一个愚蠢的问题,但我想知道实现这一目标的正确方法:
我有一个字符串数组; 我想将它用作我的 stdclass 对象的属性; 为什么我不能准备好它然后在不给它一个价值的情况下使用它?
$heading= ["cgonboardingid","username","firstname","lastname","departement","lang","cgrole"];
$tmpUser = new \stdClass();
此代码不起作用:
foreach ($headings as $head){
$tmpUser->$head;
}
如果我尝试使用 {$head} 或 {'$head'}
这行得通!!!
foreach ($headings as $head){
$tmpUser->$head='something';
}
【问题讨论】:
-
$tmpUser->$head;仅表示 read 访问权限,并且由于这些属性实际上都不存在,因此它也会为您提供很多Warning: Undefined property: stdClass::$cgonboardingid。您想在此处执行 assignment,但这需要一个实际的 value 来分配。您可以将'something'替换为空字符串、false 或 null,如果这有帮助的话……
标签: php arrays object stdclass