0
我希望能夠根據函數輸入更新對象中的關聯數組,但是我不知道如何執行此操作。這是我的問題。比方說,有一個在我的對象這個數據容器:PHP:通過類函數更新關聯數組?
private $vars = Array
(
['user_info'] = Array
(
['name'] => 'John Doe'
['id'] => 46338945
['email'] => '[email protected]'
['age'] => 35
)
['session_info'] = Array
(
['name'] => 'session_name'
['id'] => 'mGh44Jf0nfNNFmm'
)
)
,我有一個公共職能update
改變這些值:
public function update($keys, $changeValueTo) {
if (!is_array($keys)) {
$keys = array($keys);
}
nowWhat();
}
最終,我只是希望能夠的東西轉換成這樣
array('user_info', 'name')
到這一點:
$this->vars['user_info']['name']
所以我可以將它設置爲等於$equalTo
參數。
這通常不會是一個問題,但在這種情況下,我不知道$vars
陣列的架構,因此我不能編寫基於固定數量的密鑰的foreach
語句。我也不能只公開$vars
,因爲每次改變某個東西時,函數都需要在對象內部做些什麼。
我擔心這是一個遞歸場景,涉及到eval()
。你會推薦什麼?
它的工作!我仍然不清楚通過引用傳遞變量是什麼意思,我肯定需要對此做一些研究。謝謝! – Jonesy