在PHP 中訪問函數返回的數組
考慮這樣的場景:您有一個模板引擎,它根據您指定的位置注入代碼。為了測試特定條件,您建立了一個函數:
myfunction() { return '($this->data["a"]["b"] ? true : false)'; }
但是,$this->data 的私有性質提出了挑戰,使其無法從某些上下文存取。
為了解決這個問題,通常使用 getData(),但在這種情況下它不起作用。以下方法也失敗:
$this->getData()['a']['b']
此外,將值指派給變數並不能提供可行的解決方案。
解決方案
PHP 5.4 以上版本提供了直接方法:
getSomeArray()[2]
對於 PHP 5.3或更早版本,可以使用臨時變數:
$temp = getSomeArray(); $temp[2]
此方法可讓您存取函數傳回的陣列元素,而不會遇到陣列私有性質所施加的限制。
以上是如何存取 PHP 中函數傳回的數組元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!