我有一個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
以及它是有幫助的,但那是我的問題的一部分。我不知道如何將它作爲一個對象傳遞給函數。 –