Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function array_multidim_set($arr, $keys, $value){
- switch(count($keys)){
- case 1:
- $arr[$keys[0]] = $value;
- break;
- case 2:
- $arr[$keys[0]][$keys[1]] = $value;
- break;
- case 3:
- $arr[$keys[0]][$keys[1]][$keys[2]] = $value;
- break;
- ...and so on...
- }
- return $arr;
- }
- function array_multidim_set(&$arr, $keys, $value){
- $rv = &$arr;
- foreach($keys as $pk)
- {
- $rv = &$rv[$pk]; // Unused reference [ex. $rv['key1'] then $rv['key1']['key2'] .. so on ] - actually assigned to $target by reference
- }
- $rv = $value;
- }
- $target = ['test' => 'test'];
- array_multidim_set($target, ['key1', 'key2', 'key3'], 'foo');
- echo '<pre>';
- print_r($target);
- Array
- (
- [test] => ttt
- [key1] => Array
- (
- [key2] => Array
- (
- [key3] => foo
- )
- )
- )
Add Comment
Please, Sign In to add comment