我有一个PHP应用程序,它具有构建用于期望API调用信息的函数。但是,我试图通过传递模仿API数据的信息来使用这个函数。数组中的对象,将对象传递给PHP方法
我在数组中挣扎了一番,这似乎是数组中的一个对象。
我可以访问该阵列,所述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,)));
但是这给了我一个“试图获得非对象的属性”错误。请对我很好,我已经尽了我的努力去研究和自己构建这个无济于事。
不知道如果我的评论会有所帮助,但仅仅想指出这个错误的字面意思,那么当它实际上是一个数组时,你试图访问一个对象,因此,“尝试获取非对象的属性”。 – hzq
以及它是有帮助的,但那是我的问题的一部分。我不知道如何将它作为一个对象传递给函数。 –