使用字串索引進行動態數組存取
考慮如下數組結構:
Array ( [0] => Array ( [Data] => Array ( [id] => 1 [title] => Manager [name] => John Smith ) ) [1] => Array ( [Data] => Array ( [id] => 1 [title] => Clerk [name] => ( [first] => Jane [last] => Smith ) ) ) )
要求是設計如下數組結構:
要求是設計一個函數,它接受表示數組索引路徑的字串並傳回對應的數組值。例如,索引路徑“0['name']”將返回“Manager”,而“1'name'”將返回“Jane”。索引路徑中的陣列層級數可以不同。
解決方案
function getArrayValue($indexPath, $arrayToAccess) { $paths = explode(":", $indexPath); $itens = $arrayToAccess; foreach($paths as $ndx){ $itens = $itens[$ndx]; } return $itens; }
要實現此目的,請利用explode() 函數將字串索引路徑拆分為數組各個密鑰。使用 foreach 迴圈遍歷鍵,相應地導航陣列層級。可以檢索結果值並將其指派給變數。以下是一個實際的實作:
透過該函數,您可以以字串為索引路徑動態存取數組值,為資料檢索提供方便且靈活的方法。以上是如何在 PHP 中使用字串索引動態存取數組值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!