在PHP 中存取物件屬性
當嘗試存取print_r() 輸出中變數的值時,了解如何存取非常重要建構用於在程式碼中檢索該值的表達式。對於簡單資料類型,您可以在變數名稱前面加上 $ 前綴(例如 $variable)。然而,對於像物件和陣列這樣的複合資料類型,您需要將 $ 與特定的存取器結合。
存取物件
存取物件的屬性(例如,$物件->屬性),您使用「->」操作員。您提到的偵錯輸出顯示了複雜的資料結構:
field_image (Object) stdClass handler (Object) views_handler_field_field view (Object) view result (Array, 2 elements) 0 (Object) stdClass _field_data (Array, 1 element) nid (Array, 2 elements) entity (Object) stdClass field_image (Array, 1 element) und (Array, 1 element) 0 (Array, 11 elements) filename (String, 23 characters ) FILENAME.jpg
存取陣列
要存取陣列的元素(例如$array[key]),您使用方括號[]。在您提供的範例中,「結果」是一個包含兩個元素的陣列。使用 $view->result[0] 存取第一個元素將為您提供一個具有「_field_data」屬性的物件。該屬性是只有一個元素“nid”的數組。
組合存取器
要存取映像的檔案名稱(FILENAME.jpg),您需要組合存取器:
$field_image->handler->view->result[0]->_field_data['nid']['entity']->field_image['und'][0]['filename']
該表達式表示以下內容步驟:
以上是如何在 PHP 中存取嵌套物件和數組屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!