如何获取数组中受保护项的值?

时间:2017-01-19 04:16:29

标签: php arrays

我有以下数组: -

@orders = Order.includes(:type_logistics).where(status_id:4).select { |o| ([[1],[2],[1,2]].include? o.type_logistics.pluck(:status_id).uniq) || o.type_logistics.count == 0 }.uniq

我希望获得$result = Array ( [0] => Objects\Update Object ( [items:protected] => Array( [update_id] => 500206735 [message] => Objects\Message Object ( [word] =>hello ) ) ) )

中的值

我尝试过: - [word]

但它不起作用。任何想法?

2 个答案:

答案 0 :(得分:0)

您不需要方括号来访问对象的属性。尝试:

$result[0]->items['messages']->word

请记住检查属性是否公开,并在访问之前检查属性/数组键以防止错误。

答案 1 :(得分:0)

找到解决方案,

如果数组中有受保护的项目,

要么我们必须在类本身内部声明get方法,要么  首先不要将这些项目声明为受保护的。因此,如果我们制定了get方法,答案就是,

$result[0]->getMessage()->word