【问题标题】:set object property names设置对象属性名称
【发布时间】: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


【解决方案1】:

您可以使用 null、false 或 '' 代替 'something'

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 2018-12-02
    • 2020-04-21
    相关资源
    最近更新 更多