【问题标题】:How to check a dynamic attribute of one object in PHP ?如何在 PHP 中检查一个对象的动态属性?
【发布时间】:2017-12-11 19:42:30
【问题描述】:

在 php 中,我必须检查 PHP 对象的第一个属性是否为空。问题是我不知道关键,因为对象是动态设置的,可以是对象 A 或对象 B 等...

if( empty( $this->editable_item->item ) || $this->editable_item->item->? === null ){ <-- ? the key can be various things
   //Do something like log an error
}

如何在不知道其键的情况下检查第一个属性?

【问题讨论】:

  • 依赖属性的顺序是一个糟糕的主意,因为您将获得在发生错误时难以/不可能跟踪的对象之间的依赖关系。最好有一个定义明确的方法来检查所需的值,或者至少为每个对象使用同名的属性。

标签: php object key


【解决方案1】:

为此,您需要使用函数 get_object_vars() 并像这样使用 reset

$a_vars = get_object_vars( $this->editable_item->item  );
reset( $a_vars );
$first_key = key( $a_vars );
if( empty( $this->editable_item->item ) || empty( $a_vars[$first_key] ) ){   
   //Do something like log an error
}

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2013-01-04
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    相关资源
    最近更新 更多