【问题标题】:PHP multi dimension object attributes access from arrayPHP多维对象属性从数组访问
【发布时间】:2016-10-28 16:32:40
【问题描述】:

我有一个包含其他对象的对象。 我有一个数组,描述了我需要访问的属性。 数组可以改变大小。

我的问题是如何使用数组访问子对象属性?

代码示例:

$student = new Student();
$arr = ['Grades', 'Score'];
foreach.... {}

预期结果:

$student->$arr[0]->$arr[1];

我需要遍历 $arr 并访问 $student 子对象

【问题讨论】:

  • 我认为你需要一个更好的例子..
  • 您能解释一下示例中缺少什么吗?有一个 Student 对象,其中包含 Grades 对象,并且该对象具有 Score 属性。
  • 看来你不需要foreach...
  • 问题是我事先不知道对象属性是什么,并且数组的大小可能会改变......所以我需要编写一个 foreach 循环来访问对象属性......在一个未知的数组大小
  • 如果该数组中的项目分别对对象属性无序怎么办?

标签: php oop object iterator


【解决方案1】:

类似这样的:

$student = new Student();
$sub_object = $student;  // or use $student itself if you don't need it
$arr = ['Grades', 'Score'];
foreach ($arr as $v) {
    $sub_object = $sub_object->$v;
}
echo $sub_object;

【讨论】:

  • 这就是我刚刚想到的! thx :) BTW - 我使用 reflactions 只是为了确保属性存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-29
  • 1970-01-01
相关资源
最近更新 更多