小编Mar*_*ber的帖子

PHP 通过数组中的字符串访问嵌套对象属性

假设我们有一个对象 $obj。该对象具有如下属性:

$obj->p1->p2->p3 = 'foo';
Run Code Online (Sandbox Code Playgroud)

现在我得到数组中的嵌套属性结构:

$arr = array( 'p1', 'p2', 'p3' );
Run Code Online (Sandbox Code Playgroud)

目前我使用以下函数来相应地访问该属性:

function getProperty( $obj, $property ) {
foreach( $property as $p ) {
  $obj = $obj->{$p};
 }
 return $obj;
}

$value = getProperty( $obj, $arr); // = 'foo'
Run Code Online (Sandbox Code Playgroud)

有没有更聪明的方法来做到这一点(不,“评估”不是一个选项!;))?

php oop properties

5
推荐指数
1
解决办法
2337
查看次数

标签 统计

oop ×1

php ×1

properties ×1