存取PHP 中函數傳回的陣列
使用動態注入程式碼的範本引擎時,維護對函數內私有資料的存取可以提出挑戰。考慮以下程式碼片段:
myfunction() { return '($this->data["a"]["b"] ? true : false)'; }
這裡, $this->data 屬性是私有的,不能直接從公用函數存取。如果該值旨在立即在 if 區塊中使用,則將屬性的值指派給臨時變數並不能解決問題。
解決方案:
在PHP 版本中5.4 及更高版本,您可以使用方括號直接存取傳回的陣列:
getSomeArray()[2]
這種方法無需臨時變量,並允許您無縫存取數組元素。
但是,如果您使用 PHP 5.3 或更早版本,您仍然需要先將傳回的陣列指派給變數:
$arr = getSomeArray(); echo $arr[2];
以上是如何存取 PHP 函數傳回的數組,尤其是在較舊的 PHP 版本中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!