因此,我成功訪問了以下結果: $get = $this->getAllResults()->getContent(); $pull = json_decode($get); $results = $pull->data->items[0];現在,當我在 dump($results->myDataResultOne);die或者: dump($results->myDataResultTwo);die;它訪問了我的結果,但是我無法在foreach中獲得相同的結果,例如:$rows = []; $rows[] = array( "my first result", "my second result", ); foreach ($results as $row) { $rows[] = array( $row->myDataResultOne, $row->myDataResultTwo ); }相反,它拋出:試圖獲取非對象的屬性
2 回答

富國滬深
TA貢獻1790條經驗 獲得超9個贊
更新
foreach ($results as $row) {
$rows[] = array(
$row->myDataResult
);
}
和
foreach ($results->myDataResult as $row) {
$rows[] = $row;
}

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊
根據您對注釋給出的$ results轉儲,您實際上是在嘗試獲取一個對象,而不是一組項目。
您可以直接訪問對象的方法和屬性,例如:
$results->myDataResultOne
這就是為什么當您嘗試轉儲它時正確獲得它的原因。
當您嘗試迭代一個對象時,您將進入對象迭代的領域, 最終您會使用鍵=>值模式來迭代obj結構。就您而言,您可以執行以下操作:
foreach($results AS $key => $value){
var_dump($key); // for the first iteration, it should be "id" (string)
var_dump($value); // for the first iteration, it should be 1 ()
}
請注意,我將此代碼寫在內存上,可能是錯誤的,但是它應該給您一些提示。
- 2 回答
- 0 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消