【发布时间】:2020-03-21 23:29:32
【问题描述】:
我需要通过函数更新关联数组的特定键。 有可能吗?
重要提示,$PATH_TAB = &$TAB_cars['car_1']['blue']; $TAB_cars['car_1']['blue'] 可以不同:$TAB_cars['car_1']['type']['light'] 等。
$TAB_cars = [
'car_1' => [
'red' => '',
'blue' => '',
'type' => [
'light' => '',
'big' => ''
]
],
'car_2' => [
'green' => '',
'brown' => ''
]
];
function UpdateArray($PATH_TAB_2) {
$PATH_TAB_2 = 'TEST 2';
}
$PATH_TAB_1 = &$TAB_cars['car_1']['blue'];
UpdateArray($PATH_TAB_1);
print_r($TAB_cars);
【问题讨论】:
-
你需要在你的函数中
return或者让它通过引用传递 -
好吧,尝试做类似的事情:
$newArray = UpdateArray($PATH_TAB);和function UpdateArray($array, $path_tab) { /* update the $path_tab in your $array */ return $array; } -
这句话我看不懂IMPORTANT, in $PATH_TAB = &$TAB_cars['car_1']['blue']; $TAB_cars['car_1']['blue'] 可以不同:是否“更深”。
-
@vivek_23 我刚刚更新了这句话。现在清楚了吗? THX
-
function UpdateArray(&$PATH_TAB_2),那么这将起作用。不过,如果你问我的话,编码是相当糟糕的。到目前为止,您的问题尚不清楚,与直接去$TAB_cars['car_1']['blue'] = 'TEST 2';相比,应该有什么优势。
标签: php arrays associative-array