【发布时间】:2016-01-14 15:15:54
【问题描述】:
我有一个 PHP 应用程序,该应用程序具有一个旨在从 API 调用中获取信息的函数。但是,我试图通过传入模仿 API 数据的信息来使用这个函数。
我对数组有点挣扎,这似乎是数组中的一个对象。
我可以访问 api 提供的数组,所以当我使用以下代码时($triggers 是 api 调用返回的数组):
print("<pre>".print_r($triggers,true)."</pre>");
我得到以下输出:
Array
(
[0] => stdClass Object
(
[triggerid] => 18186
[status] => 0
[value] => 0
)
这是函数的开始:
function iterate_triggers($triggers){
$trigger_id_values = array();
foreach($triggers as $trigger) {
//Necessary to show human readable status messages.
$check_status = array(0=>"Up", 1=>"Down", 2=>"Degraded", 3=>"Maintenance");
array_push ($trigger_id_values, [$trigger->triggerid, $trigger->value]);
所以如果我想通过[triggerid] => 18186 和[value] => 1 这个函数我会怎么做呢?
目前我正在尝试:
iterate_triggers(array(0 => array("triggerid" => 18186,"status" => 0,"value" => 1,)));
但这给了我一个 “试图获取非对象的属性” 错误。请善待我,我已尽我所能自行研究和构建此内容,但无济于事。
【问题讨论】:
-
不确定我的评论是否会有所帮助,但只想指出错误从字面上说明,您正在尝试访问一个实际上是数组的对象,因此
Trying to get property of non-object。 -
这很有帮助,但这是我的问题的一部分。我不确定如何将它作为对象传递给函数。